【问题标题】:Keep advcheckbox checked after form submission提交表单后保持 advcheckbox 选中
【发布时间】:2019-01-17 08:09:28
【问题描述】:

提交表单后,我无法保持选中的复选框处于选中状态。单击提交按钮后,数据被提交到数据库,但进入编辑表单模式后,所有复选框再次取消选中。

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,这应该使复选框处于选中状态并保持选中状态。这不会发生。任何帮助,将不胜感激!

【问题讨论】:

    标签: php moodle moodle-api


    【解决方案1】:

    您的实际代码应该包含$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);
    }
    

    【讨论】:

      猜你喜欢
      • 2013-10-06
      • 1970-01-01
      • 2013-08-10
      • 2015-01-22
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      • 2011-01-15
      • 1970-01-01
      相关资源
      最近更新 更多