Zend_Form_Element_Select setValue正在选择多个选项

时间:2011-09-05 19:03:49

标签: zend-framework combobox drop-down-menu zend-form

我正在使用Zend 1.11.10,我正在尝试在下拉列表中设置一个值。我的代码是:

    $state = new Zend_Form_Element_Select("mytest");
    $state->setLabel("mytest")  
    ->setName("mytest");

    $state->addMultiOption('Pear','PE');
    $state->addMultiOption('Banana','BA');
    $state->addMultiOption('Orange','OR');
    $state->addMultiOption('Kiwi','KI');

    $state->setValue('Banana');

    $this->addElement($state);

问题是生成的HTML代码是:

<select id="mytest" name="mytest" style="opacity: 0;"><option value="PE">Pear</option><option selected="selected" value="BA">Banana</option><option selected="selected" value="OR">Orange</option><option selected="selected" value="KI">Kiwi</option></select>

在“香蕉”之后正在“选择”所有选项。这是Zend中的错误吗?

2 个答案:

答案 0 :(得分:1)

准确地使用您的代码:

<select name="mytest" id="mytest"> 
    <option value="Pear" label="PE">PE</option> 
    <option value="Banana" label="BA" selected="selected">BA</option> 
    <option value="Orange" label="OR">OR</option> 
    <option value="Kiwi" label="KI">KI</option> 
</select>

这也是1.11.10。您使用的是自定义表单类还是可能影响它的任何其他内容?

答案 1 :(得分:1)

在我看来,您使用的是非标准FormSelect视图助手。对于初学者,您的<option> value属性和文本值相反,您没有label属性。 例如,

$state->addMultiOption('Pear','PE');

生成的标记应为

<option value="Pear" label="PE">PE</option>

由于不透明样式属性,我还猜测有一些JavaScript在玩DOM。

相关问题