繁体   English   中英

如何将选定的选项作为值传递给moodle select

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM