2017-05-05 126 views
1

我有以下脚本作品修改切换复选框取消选中脚本所有复选框

function toggle_checkboxes(id) { 
     if (!document.getElementById) { 
      return; 
     } 
     if (!document.getElementsByTagName) { 
      return; 
     } 
     var inputs = document.getElementById(id).getElementsByTagName("input"); 
     for (var x = 0; x < inputs.length; x++) { 
      if (inputs[x].type == 'checkbox') { 
       inputs[x].checked = !inputs[x].checked; 
      } 
     } 
    } 

脚本做什么,它说:切换复选框状态。我修改现有脚本以检查/取消选中所有复选框。我怎样才能做到这一点?

我试着用

inputs[x].checked = false; 
inputs[x].removeAttr('checked'); 

,但没有奏效。任何人?

+0

这里没有jQuery的.. jQuery的使用'.prop()' – guradio

+0

我的错,我现在编辑的标签。 – user2417624

+2

你想实现什么? –

回答

1

你几乎接近。你只需要做到:

inputs[x].removeAttribute('checked'); 

功能removeAttr()是jQuery中使用的相同功能。而且你不需要额外的参数id

function toggle_checkboxes(id) { 
 
    var inputs = document.getElementById(id).getElementsByTagName("input"); 
 
    for (var x = 0; x < inputs.length; x++) { 
 
    if (inputs[x].type == 'checkbox') { 
 
     inputs[x].checked = !inputs[x].checked; 
 
    } 
 
    } 
 
} 
 
function uncheck_checkboxes(id) { 
 
    var inputs = document.getElementById(id).getElementsByTagName("input"); 
 
    for (var x = 0; x < inputs.length; x++) { 
 
    if (inputs[x].type == 'checkbox') { 
 
     inputs[x].checked = false; 
 
    } 
 
    } 
 
} 
 
function check_checkboxes(id) { 
 
    var inputs = document.getElementById(id).getElementsByTagName("input"); 
 
    for (var x = 0; x < inputs.length; x++) { 
 
    if (inputs[x].type == 'checkbox') { 
 
     inputs[x].checked = true; 
 
    } 
 
    } 
 
}
<div id="chks"> 
 
    <label><input type="checkbox" name="" /> Check 1</label> 
 
    <br> 
 
    <label><input type="checkbox" name="" checked /> Check 2</label> 
 
    <br> 
 
    <label><input type="checkbox" name="" /> Check 3</label> 
 
    <br> 
 
    <label><input type="checkbox" name="" checked /> Check 4</label> 
 
    <br> 
 
    <label><input type="checkbox" name="" /> Check 5</label> 
 
    <br> 
 
</div> 
 
<input type="button" value="Toggle" onclick='toggle_checkboxes("chks");' /> 
 
<input type="button" value="Uncheck All" onclick='uncheck_checkboxes("chks");' /> 
 
<input type="button" value="check All" onclick='check_checkboxes("chks");' />

+0

不起作用,脚本继续相同的行为。如果选中复选框,请取消选中这些复选框,然后选中未选中的复选框。我想取消选中所有复选框,然后全部检查。 – user2417624