1

我正在创建一个表单并使用 ZF2 添加一个复选框,但由于某种原因,当我使用数组表示法时,这些选项不会被发送。

所以这:

class PageForm extends Form
{
  public function __construct($name = null)
  {
$checkbox = new Element\Checkbox('system');
    $checkbox   ->setLabel('System Page')
                ->setUseHiddenElement(true)
                ->setCheckedValue("1")
                ->setUncheckedValue("0");


    $this->add($checkbox);
}
}

工作正常,但是这个:

     class PageForm extends Form
    {
      public function __construct($name = null)
      {
   $this->add(array(
             'type' => 'Checkbox',
             'name' => 'checkbox',
             'options' => array(
                     'label' => 'A checkbox',
                     'use_hidden_element' => true,
                     'checked_value' => 'good',
                     'unchecked_value' => 'bad'
             )
    }
    }

创建复选框但没有选中/未选中的值,我想知道我做错了什么,还是错过了一步?(示例直接来自文档)

这是视图中的代码:

$form = $this->form;
$form->setAttribute('action', $this->url('page', array('action' => 'add')));
$form->prepare();
echo $this->form()->openTag($form);
echo $this->formCollection($form);
echo $this->form()->closeTag();

谢谢

4

1 回答 1

1

为什么不使用 Multicheckbox 呢?

 $multiCheckbox = new Element\MultiCheckbox('multi-checkbox');
 $multiCheckbox->setLabel('What do you like ?');
 $multiCheckbox->setValueOptions(array(
         array(
                 '0' => 'Apple',
                 '1' => 'Orange',
                 '2' => 'Lemon'
         )
 ));
 $form = new Form('my-form');
 $form->add($multiCheckbox);
于 2013-03-01T12:10:48.530 回答