我使用 JavaScript 动态创建组合框。
这里是代码(或here!!!):
function CreateComboBox() {
var selectElem = document.createElement('select');
var optionElem0 = document.createElement('option');
var optionElem1 = document.createElement('option');
var optionElem2 = document.createElement('option');
var optionElem3 = document.createElement('option');
var optionElem4 = document.createElement('option');
selectElem.onchange = 'myFunction()';
optionElem0.value=10;
optionElem0.innerHTML="10";
optionElem1.value=15;
optionElem1.innerHTML="15";
optionElem2.value=20;
optionElem2.innerHTML="20";
optionElem3.value=25;
optionElem3.innerHTML="25";
optionElem4.value=50;
optionElem4.innerHTML="50";
selectElem.appendChild(optionElem0);
selectElem.appendChild(optionElem1);
selectElem.appendChild(optionElem2);
selectElem.appendChild(optionElem3);
selectElem.appendChild(optionElem4);
document.getElementById('ComboArea').appendChild(selectElem);
}
function myFunction() {alert('HELLO!');}
创建组合框后,如果我从创建的组合中选择一个元素,我需要 myFunction() 但它不起作用,函数 myFunction() 没有被解雇,知道为什么吗?我做错了什么?
最佳答案
好吧,我找到了解决方案。
直接替换即可
selectElem.onchange = 'myFunction()';
与
selectElem.onchange = myFunction;
关于javascript - 动态创建的组合框不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27330434/