[英]how to pass the selected option as value in moodle select
我想将选项作为值传递:这是我的代码。
$master_id=array();
$ret1="select Id from m_tl_mastercourse";
$result1=get_records_sql($ret1,$limitfrom='', $limitnum='');
foreach($result1 as $resu){
$master_id[ ]=$resu->Id;
}
$mform->addElement('select', 'master_id', get_string('selectcourse'), $master_id);
如果我使用这意味着它如下所示:
<select id="id_master_id" name="master_id">
<option value="0">php01</option>
<option value="1">ios01</option>
<option value="2">and01</option>
<option value="3">java01</option>
<option value="4">python01</option>
<option value="5">yii2</option>
我想要的是确切的值将传递给选项值。 如何得到
您将作为$master_id[ ]=$resu->Id;
添加到数组中默认情况下,它为数组分配一个数字索引,并为您提供下一个可用的索引号。 自己分配密钥,如下所示:
$master_id[$resu->Id]=$resu->Id;
请注意,这假定您所有可能的选项都是唯一的。
您可以使用获取记录菜单功能简化此操作。
https://docs.moodle.org/dev/Data_manipulation_API#get_records_menu
$options = $DB->get_records_menu('m_tl_mastercourse', [], 'id', 'id, name');
$mform->addElement('select', 'master_id', get_string('selectcourse'), $options);
要传递选定的值,您需要将值传递给表单。
https://docs.moodle.org/dev/Form_API#Usage
$formdata = new \stdClass();
$formdata->master_id = 99
$mform = new edit_form();
$mform->set_data($formdata);
$mform->display();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.