2017-05-05 85 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

相關問題