如何在Zend中设置复选框

时间:2014-01-27 12:06:08

标签: php zend-framework

我想在Zend表单的编辑时检查我的复选框。 我有复选框的代码

    $master = new Application_Model_DbTable_MasterTables();
    $functionalList = $master->buildSelectListbyTable('mst_functional_areas', 'id', 'functional_area', "enable = '1'");

    $area = new Zend_Form_Element_MultiCheckbox('functional_area');
    $area->addMultiOptions($functionalList)->setLabel('Functional area of Specialization / Interest *:')->setAttrib('class', 'required');

    $this->addElement($area);

现在我在编辑时有阵列

Array
(
    [id] => 9
    [user_id] => 15
    [work_experience] => 12
    [functional_area] => Array
        (
            [0] => 1
            [1] => 2
        )
    [industrial_sector] => a
    [add_date] => 2014-01-27 12:06:03
)

functional_area是数组。所以我想用复选框检查functional_array的值。

3 个答案:

答案 0 :(得分:3)

$data = Array
(
    [id] => 9
    [user_id] => 15
    [work_experience] => 12
    [functional_area] => Array
        (
            [0] => 1
            [1] => 2
        )
    [industrial_sector] => a
    [add_date] => 2014-01-27 12:06:03
);

$area->setValue($data["functional_area"]);

您可以设置上述值。

答案 1 :(得分:2)

您可以像setValue()

一样使用$area->setValue($functional_area);

答案 2 :(得分:0)

始终检查源代码,例如 - Checkbox.php。您可以尝试setChecked(true)