我想<select
动态生成一些元素。我正在复制一个现有的,只更改名称和 onchange-Event。这就是我的问题所在:每个<select>
人都有自己的 ID。当 onChange-Event 触发时,它应该响应元素的值和 ID。我不知道如何准确定义 JavaScript 闭包。我用“this.value”尝试过,但显然这不起作用......我已经找到了这个例子,但它根本不适合我:/
JavaScript:
var i = 0;
var selectArray = [];
function addSelector(){
var container = document.getElementById("check0");
selectArray[i] = document.getElementsByName("select0")[0].cloneNode(true);
selectArray[i].name = 'select'+i;
selectArray[i].onchange = function(v, i) {
return function() {
changeType(v, i)
}
}(this.value, i);
container.appendChild(selectArray[i]);
}
function changeType(selected, i) {
switch (selected) {
case 'One':
alert(selected+' , '+i);
break;
case 'Two':
alert(selected+' , '+i);
break;
case 'Three':
alert(selected+' , '+i);
break;
case 'Four':
alert(selected+' , '+i);
break;
case 'Five':
alert(selected+' , '+i);
break;
}
}
(我也尝试发布 HTML,但由于某种原因我无法做到这一点;))