下面是我的代码:
根据我的功能,当我选中我的复选框时,必须禁用该按钮,而当我取消选中该复选框时,必须启用该按钮。
function assignDefect() {
var new_tc_arry = new Array();
var checkbox = document.getElementsByName('radSize1');
for(var i=0;i<checkbox.length;i++){
if(!checkbox[i].disabled && checkbox[i].checked){
var checkedbox = checkbox[i].value;
new_tc_arry.push(checkbox[i].value);
for(var i=0;i<new_tc_arry.length;i++){
console.log("new_tc_arry["+i+"] -->"+new_tc_arry[i]);
document.getElementById("OrphanbuttonId").disabled =true;
}
}
else {
document.getElementById("OrphanbuttonId").disabled=false;
}
}
The above code is disabling my button when i check my last checkbox.
Its not working for 1st ,2nd..etc checkboxes.**
问题是因为即使在禁用第一个,第二个等按钮(不包括最后一个复选框)之后,您仍会继续for循环。基本上,如果未选中您的最后一个复选框,则将始终重新启用该按钮。尝试在您的for循环中添加一个break语句:
function assignDefect() {
var new_tc_arry = new Array();
var checkbox = document.getElementsByName('radSize1');
for(var i=0;i<checkbox.length;i++){
if(!checkbox[i].disabled && checkbox[i].checked){
var checkedbox = checkbox[i].value;
new_tc_arry.push(checkbox[i].value);
for(var i=0;i<new_tc_arry.length;i++){
console.log("new_tc_arry["+i+"] -->"+new_tc_arry[i]);
document.getElementById("OrphanbuttonId").disabled =true;
}
break; //<---------------------------------------CHANGE HERE
}
else {
document.getElementById("OrphanbuttonId").disabled=false;
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句