$attr = "onChange = alert('hi');";
$objs = array();
$objs[] =& $mform->createElement('select', $this->name.'_op', null, '',$this->get_operators(), $attr);
以上是我的代码,此处未在我的选择框中添加javascript。
实际上,穆德尔文件说第4个参数是值,第5个参数是属性,但是上面的代码第5个参数是值和属性,在任何地方都不起作用。如何自定义createElement函数。
他现在离开的另一个开发人员将moodle和php版本从5.6升级到php 7.1,现在出现了此问题
答案 0 :(得分:0)
jayavel
您传递的$ attr编号错误,第5个参数是属性参数(根据moodle doc https://docs.moodle.org/dev/lib/formslib.php_Form_Definition#select
更改您的代码
$objs[] =& $mform->createElement('select', $this->name.'_op', null, '',$this->get_operators(), $attr);
到
$objs[] =& $mform->createElement('select', $this->name.'_op', null, '', $attr);
通过这种方式,您将获得有关选择框数据更改的javascript警报。