之前这么写的
for(var i=0;i<length;i++){
document.getElementsByName("primaryKey")[i].checked=false;
document.getElementsByName("primaryKey")[i].οnclick=function (){
changeStatus(i);
}
}
function changeStatus(i){
var tzxz = grid_show.getCellValue(i,tabTi.rows[0].cells.length-2);
if(tzxz==1){
document.getElementById("deleteButton").disabled="false";
}else{
document.getElementById("deleteButton").disabled="true";
}
}
可是这个changeStatus得到的i一直是循环以后的i的值。
后经过群里朋友花心小萝卜指点,使用下面的方法可以成功拿到。
for(var i=0;i<length;i++){
(function(i){
document.getElementsByName("primaryKey")[i].checked=false;
document.getElementsByName("primaryKey")[i].οnclick=function (){
changeStatus(i);
}
})(i);
}
function changeStatus(i){
var tzxz = grid_show.getCellValue(i,tabTi.rows[0].cells.length-2);
if(tzxz==1){
document.getElementById("deleteButton").disabled="false";
}else{
document.getElementById("deleteButton").disabled="true";
}
}