4

次のコードを使用していますが、機能していません。何か提案があれば教えてください。ページをロードするときに、すべてのチェックボックスのチェックを外します。次のコードがありますが、機能しません。

 window.onload = function abc() {
     document.getElementsByTagName('input')[0].focus();
 }
<tr>
    <td>
        <input type="checkbox" ID="cb1" value="29500" onclick="if(this.checked){ cbcheck(this) } else { cbuncheck(this)}" /> Laptop
    </td>
    <td>
        <a href="#" id="a1" onmouseover="showimage('a1','laptop1');"  >Show Image</a>
        <img src="Images/laptop.jpg" id="laptop1" alt="" style="display:none; width:150px; height:150px;" onmouseout="hideimage('a1','laptop1');" class="right"/>
    </td>
 </tr>
 <tr>
     <td>
          <input type="checkbox" ID="cb2" value="10500" onclick="if(this.checked){ cbcheck(this) } else { cbuncheck(this)}" /> Mobile
     </td>
     <td>
          <a href="#" id="a2" onmouseover="showimage('a2','mobile1');"  >Show Image</a>
          <img src="Images/mobile.jpg" id="mobile1" alt="" style="display:none; width:150px; height:150px;"   onmouseout="hideimage('a2','mobile1');" />
     </td>
</tr>
4

4 に答える 4

12

ページ読み込みイベントでこの関数を呼び出します

function UncheckAll(){ 
      var w = document.getElementsByTagName('input'); 
      for(var i = 0; i < w.length; i++){ 
        if(w[i].type=='checkbox'){ 
          w[i].checked = false; 
        }
      }
  } 
于 2012-09-11T06:41:14.863 に答える
6

試してみてください

window.onload = function(){
   var checkboxes = document.getElementsByTagName("INPUT");

   for(var x=0; x<checkboxes.length; x++)
   {
      if(checkboxes[x].type == "checkbox")
      {
          checkboxes[x].checked = false;
      }
   }

}

jQueryを使用できる場合は、試すことができます

$(function(){
    $('input[type=checkbox]').prop("checked", false);
});
于 2012-09-11T06:41:27.597 に答える
6

ボックスのチェックを外そうとするコードが表示されません。要素に集中しようとしているだけです。

window.onload = function abc() {
    document.getElementsByTagName('input')[0].focus();
    var a = document.getElementById('form_name').getElementsByTagName('input');
    for (var i=0;i<a.length;i++) {
        if (a[i].type == 'checkbox') a[i].checked = false;
    }
}

また、 JQueryを試してみることをお勧めします。上記のコードは、JQuery では次のようになります。

$(document).ready(function(){
    $('#formID input[type=checkbox]').attr('checked',false);
});
于 2012-09-11T06:41:02.583 に答える
1

新しいテクノロジーを紹介する新しい答え。2015 年現在のバニラ JS:

var list = document.querySelectorAll('input[type=checkbox]');
for (var item of list) {
    item.checked = false;
}

コンパクトな 1 行のバリエーション:

for(var i of document.querySelectorAll('[type=checkbox]')) { i.checked = false; }

これは、 NodeList MDN ドキュメントの例からそのまま出てきたものです。querySelectorAll によって提供されるリストは でNodeListあり、for...ofループは、2015 ECMAScript 6 標準の一部である、プロパティ値を反復処理するための新しいステートメントです。ブラウザーの互換性については、こちらを参照してください。

于 2015-06-30T21:24:42.533 に答える