提交表单后,我无法保持选中的复选框处于选中状态。单击提交按钮后,数据将提交到数据库中,但是进入编辑表单模式后,所有复选框都将再次取消选中。
foreach ($domains as $domain){ //$domains is an array of int's
if($domain){$status = 1;
$mform->addElement('advcheckbox', 'domain_' . $domain->id,'' , $domain->rawname, array('group' => 1), array(0, $domain->id), array(0, $status))}};
我的理解是第6个参数,该参数当前包含 array(0,$ status),用于控制复选框的选中和未选中状态。如果$ domain存在,则$ status的值应为1,这将使复选框处于选中状态并保持选中状态。这不会发生。任何帮助,将不胜感激!
答案 0 :(得分:0)
您的实际代码应包括$mform->set_data
,但如果需要快速修复,则为:
foreach ($domains as $domain){ //$domains is an array of int's
$status = $domain ? 1 : 0;
$mform->addElement('advcheckbox', 'domain_' . $domain->id, '' , $domain->rawname, array('group' => 1));
$mform->setDefault('domain_' . $domain->id, $status);
}