Viewing file: hiddenselect.php (3.83 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /* vim: set expandtab tabstop=4 shiftwidth=4: */ // +----------------------------------------------------------------------+ // | PHP version 4.0 | // +----------------------------------------------------------------------+ // | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.0 of the PHP license, | // | that is bundled with this package in the file LICENSE, and is | // | available at through the world-wide-web at | // | http://www.php.net/license/2_02.txt. | // | If you did not receive a copy of the PHP license and are unable to | // | obtain it through the world-wide-web, please send a note to | // | license@php.net so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // | Authors: Adam Daniel <adaniel1@eesus.jnj.com> | // | Bertrand Mansion <bmansion@mamasam.com> | // +----------------------------------------------------------------------+ // // $Id: hiddenselect.php,v 1.5 2006/10/07 21:18:41 avb Exp $
require_once('HTML/QuickForm/select.php');
/** * This class takes the same arguments as a select element, but instead * of creating a select ring it creates hidden elements for all values * already selected with setDefault or setConstant. This is useful if * you have a select ring that you don't want visible, but you need all * selected values to be passed. * * @author Isaac Shepard <ishepard@bsiweb.com> * * @version 1.0 * @since 2.1 * @access public */ class HTML_QuickForm_hiddenselect extends HTML_QuickForm_select { // {{{ constructor /** * Class constructor * * @param string Select name attribute * @param mixed Label(s) for the select (not used) * @param mixed Data to be used to populate options * @param mixed Either a typical HTML attribute string or an associative array (not used) * @since 1.0 * @access public * @return void */ function HTML_QuickForm_hiddenselect($elementName=null, $elementLabel=null, $options=null, $attributes=null) { HTML_QuickForm_element::HTML_QuickForm_element($elementName, $elementLabel, $attributes); $this->_persistantFreeze = true; $this->_type = 'hiddenselect'; if (isset($options)) { $this->load($options); } } //end constructor // }}} // {{{ toHtml()
/** * Returns the SELECT in HTML * * @since 1.0 * @access public * @return string * @throws */ function toHtml() { if (empty($this->_values)) { return ''; }
$tabs = $this->_getTabs(); $name = $this->getPrivateName(); $strHtml = '';
foreach ($this->_values as $key => $val) { for ($i = 0, $optCount = count($this->_options); $i < $optCount; $i++) { if ($val == $this->_options[$i]['attr']['value']) { $strHtml .= $tabs . '<input' . $this->_getAttrString(array( 'type' => 'hidden', 'name' => $name, 'value' => $val )) . " />\n" ; } } }
return $strHtml; } //end func toHtml // }}} // {{{ accept()
/** * This is essentially a hidden element and should be rendered as one */ function accept(&$renderer) { $renderer->renderHidden($this); }
// }}} } //end class HTML_QuickForm_hiddenselect ?>
|