PHP Classes

File: popup_menu.php

Recommend this page to a friend!
  Classes of Paul Schreiber  >  PopupMenu  >  popup_menu.php  >  Download  
File: popup_menu.php
Role: ???
Content type: text/plain
Description: countains the function popup_menu()
Class: PopupMenu
Author: By
Last change:
Date: 22 years ago
Size: 1,609 bytes
 

Contents

Class file image Download
<?php

////////////////////////////////////////////////////////////
//   PopUpMenu 0.5
//   make a popup menu that maintains its state
//
//   Paul Schreiber
//   paul@magic.ca
//   http://paulschreiber.com/
//
//   parameters
//   ----------
//
//   name: the name attribute you want for the <SELECT> tag
//
//   values: a hash that contains the values and labels for
//           the <OPTION> tags
//
//   javascript: javascript for the <SELECT> tag, i.e.
//               onChange="this.form.submit()" [optional]
//
//   size: the SIZE attribute for the <SELECT> tag [optional]
//
//
//

if ( !defined('POPUP_MENU_DEFINED') ) {
	define('POPUP_MENU_DEFINED', TRUE);

		function popup_menu ($name, $values, $javascript = "", $size = 1) {

			// grab this to maintain state
			global $$name;
			$selected = ($$name) ? $$name : "";

			// start building the popup meny
			$result = "<select name=\"$name\"";
			
			if ($size != 1)
				$result .= " size=\"$size\"";
				
			if ($javascript)
				$result .= " " . $javascript;
			
			$result .= ">\n";
			
			$result .= "<option value=\"\">\n";
			
			// list all the options
			while ( list( $value, $label ) = each( $values ) ) {
			
				// printed SELECTED if an item was previously selected
				// so we maintain the state
				if ($selected == $value) {
					$result .= "<option value=\"$value\" SELECTED>$label\n";
				} else {
					$result .= "<option value=\"$value\">$label\n";
				}
			}
			
			// finish the popup menu
			$result .= "</select>\n";
			
			echo $result;
		}

}

?>

For more information send a message to info at phpclasses dot org.