我想動態生成一些<select
元素。我正在複製一個現有的,只改變名稱和onchange-Event。這是我的問題所在:每個<select>
都有自己的ID。當onChange-Event觸發時,它應該響應元素的值和ID。我不知道如何準確定義JavaScript Closure。我與「THIS.VALUE」嘗試過,但顯然這是行不通...... 我已經找到this例子,但它並沒有爲我工作的時候:/動態生成選擇元素和JavaScript關閉
中的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,但由於某種原因,我不是能夠做到這一點;))
'i'的值永遠不會改變 –