この記事の例では、js と jQuery を使用してすべてのチェックボックスをオン/オフにする方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
まず、JavaScript を使用してすべてのチェックボックスを選択/選択解除する方法を見てみましょう。これは、多くの場合、チェックボックスをクリックしてから、この JS エフェクトを使用した後、すべてのチェックボックスを自動的に選択する必要があります。操作体験が大幅に向上しましたが、この機能はどのように実装されているのでしょうか?心配しないで、私に従ってステップバイステップで目標を達成してください。
最初にチェックボックスを含むリストを作成しましょう。すべてを選択または選択解除する前に、状態は次のようになります。
<input type=checkbox name=chk> <input type=checkbox name=chk> <input type=checkbox name=chk> <input type=checkbox name=chk> <input type=checkbox name=chk> <input type=checkbox name=chk>
次に、リストの隣にチェックボックスを制御するチェックボックスを配置します。
すべて選択:
以下は、すべて選択されたチェックボックスをクリックした後に実行されるように定義された JS コードです。JS を使用して、すべてのチェックボックスを移動し、チェックボックスのステータスを変更します。
<script language="javascript"> function sel(a){ o=document.getElementsByName(a) for(i=0;i<o.length;i++) o[i].checked=event.srcElement.checked } </script>
<input type=checkbox name=m> <input type=checkbox name=m> <input type=checkbox name=m>
<!--放一个控制全选的按钮--> 全选<input type="checkbox" value="1" onclick="mm(this)"> <script language=javascript> <!--JS部分--> function mm(o) { var a = document.getElementsByName("m"); for (var i=0;i<a.length;i++){ a[i].checked = o.checked; } } </script>
次に、すべてのチェックボックスを実装する/すべてのチェックボックスを選択解除するための jQuery メソッドを紹介します。 JavaScriptを使えば簡単に実装できますが、コードは非常に面倒です。
それではjQueryを使った具体的な操作方法を紹介していきます。
jQuery.attr 次のようなオブジェクトの属性値を取得/設定します。
$("input[name='chk_list']").attr("checked"); //读取所有name为'chk_list'对象的状态(是否选中) $("input[name='chk_list']").attr("checked",true); //设置所有name为'chk_list'对象的checked为true
$("#img_1").attr("src","test.jpg"); //设置ID为img_1的<img>src的值为'test.jpg' $("#img_1").attr("src"); //读取ID为img_1的<img>src值
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta charset="utf-8"> <script src="jquery-1.7.2.min.js"></script> <script> $(document).ready(function(){ //是否选择进行判断 $(".btn").click(function(){ if ($("input:checkbox:checked").length == 0) { alert('你未选择爱好'); } }); //进行反选 $(".btn1").click(function(){ $("input[type=checkbox]").each(function(){ if ($(this).attr("checked")) { $(this).attr("checked",false); }else{ $(this).attr("checked",true); } }); }); }); </script> </head> <body> 爱好: <input type="checkbox" name="fav[]" value="read">阅读 <input type="checkbox" name="fav[]" value="music">音乐 <input type="checkbox" name="fav[]" value="sport">体育<br /> <input type="button" name="btn" class="btn" value="提交"> <input type="button" name="btn1" class="btn1" value="反选"> </body> </html>
<script src="jquery-1.3.2.min.js"></script> <input type="checkbox" name="checkbox_name[]" id="checkbox_name_1″ />1<br /> <input type="checkbox" name="checkbox_name[]" id="checkbox_name_2″ />2<br /> <input type="checkbox" name="checkbox_name[]" id="checkbox_name_3″ />3<br /> <input type="checkbox" name="checkbox_name[]" id="checkbox_name_4″ />4<br /> <input type="checkbox" name="checkedAll" id="checkedAll"/>全选/取消全选 <script type="text/javascript"> <!-- $(function() { $("#checkedAll").click(function() { if ($(this).attr("checked") == true) { // 全选 $("input[name='checkbox_name[]']").each(function() { $(this).attr("checked", true); }); } else { // 取消全选 $("input[name='checkbox_name[]']").each(function() { $(this).attr("checked", false); }); } }); }); // --> </script>