首頁  >  文章  >  web前端  >  js與jQuery實作checkbox複選框全選/全不選的方法_javascript技巧

js與jQuery實作checkbox複選框全選/全不選的方法_javascript技巧

WBOY
WBOY原創
2016-05-16 15:21:391224瀏覽

本文實例講述了js與jQuery實作checkbox複選框全選/全不選的方法。分享給大家參考,具體如下:

先來看看JavaScript實作checkbox複選框全選/全不選的方法。這應該是比較實用的前端技巧吧,很多時候我們都需要點擊一個checkbox,然後將所有的複選框自動全部選中,比如新浪郵箱中,一些CMS系統的後台中,使用本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>

然後我們在清單的旁邊放一個控制checkbox的Checkbox:

全選:

複製程式碼 程式碼如下:

以下是定義點選全選的checkBox後要執行的JS程式碼,用JS遍歷所有checkbox,並改變checkbox的狀態:

<script language="javascript">
 function sel(a){
 o=document.getElementsByName(a)
 for(i=0;i<o.length;i++)
 o[i].checked=event.srcElement.checked
 }
</script>

下面還有一個實現JS全選、反選的功能,直接貼程式碼了,自己整理吧。

<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實作checkbox複選框全選/全不選的方法。雖然使用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值

例1:

<!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>

例2:

<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>

希望本文所述對大家JavaScript程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn