我正在研究zend。我有一个带有一些复选框的表格。我想从数据库中获取数据并将这些数据填充到这个表单中。如果“1”存储在表格字段中,则勾选复选框,否则不要理会它。在文本框和下拉菜单中,数据很容易填充,但如何检查复选框。
我在 form.php 中创建这样的复选框和文本框元素:
// Person name
$person = $this->CreateElement('text', 'name');
$person->setLabel('Name');
$elements[] = $person;
// Organization name
$person = $this->CreateElement('text', 'organization');
$person->setLabel('Organization');
$elements[] = $person;
// isAdmin Checkbox
$isAdmin = $this->CreateElement('checkbox', 'isAdmin');
$isAdmin->setLabel('Admin');
$elements[] = $isAdmin;
$this->addElements($elements);
$this->setElementDecorators(array('ViewHelper'));
// set form decorator (what script will render the form)
$this->setDecorators(array(array('ViewScript' , array('viewScript' => 'organization/accessroles-form.phtml'))));
我如何呈现表单:
<form name="myform" action="<?= $this->element->getAction() ?>" method="<?= $this->element->getMethod() ?>" id="accessrolesform">
<table align="center" width="100%" border="0"><tbody>
<tr>
<td><?= $this->element->name ?></td>
</tr>
<tr>
<td><?= $this->element->organization ?></td>
</tr>
<tr>
<td><?= $this->element->isAdmin ?></td>
</tr>
</table>
</form>
并填充这样的数据(例如):
// Prepare data to populate
$data['name'] = 'Naveed';
$data['organization'] = 'ABC';
$data['isAdmin'] = '1';
// Populate editable data
$this->view->form->populate( $data );
它在文本框中填充数据但不选中复选框?知道如何从操作中检查复选框吗?
谢谢