在Zend select元素中设置默认值

时间:2015-10-27 04:39:16

标签: php wordpress zend-framework

我需要更新一些不是由我写的网站上的表格。它适用于WordPress 4.3.1,安装了插件WP-ZFF Zend Framework Full 1.11.12-1,因此WP可以使用Zend类。

我需要检查一个表格。代码:

class Form_Registration extends Zend_Form {

    public function init()
    {
        $this->setMethod(Zend_Form::METHOD_POST);
        $this->setEnctype(Zend_Form::ENCTYPE_URLENCODED);
        $this->setAction("/");
        $this->setAttrib("id", "registration_form");
        $this->setDecorators(array('FormElements', 'tag' => 'form'));

        $myselect = $this->createElement("select", "myselect");
        $myselect->addMultiOption("1","aa");
        $myselect->addMultiOption("2","bb");
        $myselect->addMultiOption("3","cc");
        $myselect->setValue("2");

        echo "value:".$myselect->getValue(); // that prints out "2"

        $this->addElements(array($myselect));
    }
}

并使用代码:

$f = new Form_Registration();
$f->isValid($_POST);
print $f->render(new Zend_View());

我的问题是为这个select元素设置默认值。

我试过了:

  • $ myselect->的setValue( “2”);
  • $这 - > setDefault( 'myselect', '2');
  • $ this-> populate(array('myselect'=>'2'));

此外,我尝试将$this->createElement()替换为$this->addElement(),然后将其替换为

$this->addElement('select', 'myselect', array(
    'value' => '2',
    'multiOptions' => array(
            '1' => 'aa',
            '2' => 'bb',
            '3' => 'cc'
        ),
    )
);

我已禁用所有Javascript以确保某些脚本清除表单元素。 什么都行不通! 我得到的是:

<select id="myselect" name="myselect">
<option value="1">aa</option>
<option value="2">bb</option>
<option value="3">cc</option>
</select>

我做错了什么,如何设置select的选项之一为'selected'?

0 个答案:

没有答案