我尝试使用javascript创建多个复选框,但我的代码无效,我的代码总是检查所有框
ListView
答案 0 :(得分:4)
for(var i=0; i<3; i++){
document.write("<div class='checkbox'><label><input type='checkbox' value='1' onclick='changeText(this,"+i+");' >Item</label></div><input type='text' name='myItem' value='0' disabled/><br/>");
}
var item_box = document.getElementsByName('myItem');
function changeText(e,i){
item_box[i].value = e.checked ? 1 : 0;
item_box[i].disabled = !e.checked;
}
&#13;
我无法理解为什么要投票,代码片段已添加。
答案 1 :(得分:1)
下面的代码应该只能启用一个输入框。
for(var i=0; i<3; i++){
document.write("<div class='checkbox'><label><input type='checkbox' value='1' onclick='changeText(this);' >Item</label></div><input type='text' name='myItem' value='0' disabled/><br/>");
}
function changeText(element){
var inputBox = element.parentElement.parentElement.nextSibling;
if(inputBox.hasAttribute('checked')){
inputBox.value="0";
inputBox.setAttribute('checked', true);
inputBox.removeAttribute('checked');
inputBox.setAttribute('disabled', false);
} else {
inputBox.value="1";
inputBox.setAttribute('checked', false);
inputBox.setAttribute('disabled', true);
inputBox.removeAttribute('disabled');
}
}