自动填充后端的MultiCheckbox

时间:2019-06-03 09:49:42

标签: checkbox zend-framework2

我正在zend2上创建一个应用程序,我希望获得帮助。 我想在后端自动填写一些复选框。

方法getMessages()返回以下数组:

array(
    'info' => 'INFO',
    'alert' => 'ALERT',
    'more' => 'MORE'
); 

创建表单

$msg = array(); //  my array
foreach ($this->getMessages() as $key => $value) {

    if(in_array($key, $user_values)) {
        $msg[$key][1] = 'user';
    }
    if(in_array($key, $admin_values)){
        $msg[$key][2] = 'admin';
    }
    if(!in_array($key, $user_values) && !in_array($key, $admin_values)){
        $msg[$key][] = 'skip';
    }

    $form->get(trim($key))->setValueOptions(array($msg))->setChecked(true);
    // OR
    $form->get(trim($key))->setValue(array($msg))->setChecked(true);

    // Clear the array
    $msg = array();
}

我想要获得的结果:

<input type="checkbox" name="alert[]" value="skip' />
<input type="checkbox" name="alert[]" value="user' />
<input type="checkbox" name="alert[]" value="admin' /> 

1 个答案:

答案 0 :(得分:0)

您可以使用setValue()方法来设置应选择(或选中)的值。您最终也可以使用setAttribute('selected', 'selected')