Example #1
0
 public function select($name, $choices, $options = array(), $html_attributes = array())
 {
     $value = strval($this->get_model_data($name));
     $option_tags = $this->add_default_select_options(FormTagHelper::options_for_select($choices, $value), $options, $value);
     return FormTagHelper::select_tag($this->get_field_name($name), $option_tags, $html_attributes);
 }
Example #2
0
 public function test_options_for_select()
 {
     $actual = FormTagHelper::options_for_select(array(1 => 'one', 2 => 'two'));
     $this->assertEquals("<option value=\"1\">one</option>\n<option value=\"2\">two</option>\n", $actual, 'should output correct option tags');
     $actual = FormTagHelper::options_for_select(array(1 => 'one', 'others' => array(2 => 'two')));
     $this->assertEquals("<option value=\"1\">one</option>\n<optgroup label=\"others\"><option value=\"2\">two</option>\n</optgroup>\n", $actual, 'should output correct optgroup tags');
     $actual = FormTagHelper::options_for_select(array(1 => 'one', 2 => 'two'), 1);
     $this->assertEquals("<option value=\"1\" selected=\"selected\">one</option>\n<option value=\"2\">two</option>\n", $actual, 'should mark single selected value');
     $actual = FormTagHelper::options_for_select(array(1 => 'one', 2 => 'two'), array(1, 2));
     $this->assertEquals("<option value=\"1\" selected=\"selected\">one</option>\n<option value=\"2\" selected=\"selected\">two</option>\n", $actual, 'should mark multiple selected values');
 }