从Zend_Form_Element_Select创建的选项标签错误

时间:2011-02-09 08:31:55

标签: php html zend-framework forms zend-form

我正在使用Zend_Form_Element_Select来创建我的选择列表,但是当我查看源代码时,options标签看起来像这样:

<select name="things" id="things">
    <option value="thing1" label="Thing 1">Thing 1</option>
    <option value="thing2" label="Thing 2">Thing 2</option>
    <option value="thing3" label="Thing 3">Thing 3</option>
</select>

标签属性不需要在那里。在那里没有用处。该值应与标签中的值匹配。这是我使用的代码:

$things = new Zend_Form_Element_Select('things');
$things->setLabel('Things:');
$things->setRequired(TRUE);
$things->addMultiOptions(array(
    'thing1'=>'Thing 1',
    'thing2'=>'Thing 2',
    'thing3'=>'Thing 3'
));
$this->addElement($things);

我是否认为这一切都是错的,或者这只是Zend的工作方式而我只需处理它?<​​/ p>

3 个答案:

答案 0 :(得分:0)

您传入的数组采用格式值=&gt;标签,因此您需要执行

$things->addMultiOptions(array(
  'Thing 1'=>'Thing 1',
  'Thing 2'=>'Thing 2',
  'Thing 3'=>'Thing 3'
));

答案 1 :(得分:0)

属性label“指定选项的较短标签”,它是option标记的有效属性。因此,由于您的所有选项都不同,标签也会有所不同。

答案 2 :(得分:0)

也许你先删除?

->removeDecorator('Label')
                                    ->removeDecorator('HtmlTag');
相关问题