多个复选框javascript

时间:2016-10-19 08:05:36

标签: javascript arrays codeigniter

我尝试使用javascript创建多个复选框,但我的代码无效,我的代码总是检查所有框

ListView

2 个答案:

答案 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;
&#13;
&#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');
   }
}