jquery實現全選、不選、反選的兩種方法


在取復選框checkbox的屬性checked屬性值時,發現一個問題,就是當用attr取值時,真的為"checked",假的為"undefined";當用prop取值時,真的為"true",假的為"false"。經過網上參考一些資料,及根據官方的建議這兩個用法:具有 true 和 false 兩個屬性的屬性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()。

 

方法一:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>全選、不選、反選 1</title>
<script src="jquery.min.js"></script>
<script>
$(function(){
$('.check .btn1').click(function(){//全選
$('.music :checkbox').prop('checked',true);
});

$('.check .btn2').click(function(){//全不選
$('.music :checkbox').prop('checked',false);
});

$('.check .btn3').click(function(){//反選
$('.music :checkbox').each(function(){
$(this).prop('checked',!$(this).prop('checked'));
});
});
});
</script>
</head>
<body>
<div class="music">
<input type="checkbox" name="music1" value="小白兔">小白兔<br>
<input type="checkbox" name="music2" value="小燕子">小燕子<br>
<input type="checkbox" name="music3" value="哈巴狗">哈巴狗<br>
<input type="checkbox" name="music4" value="小青蛙">小青蛙<br>
<input type="checkbox" name="music5" value="數鴨子">數鴨子<br><br>
</div>
<div class="check">
<button class="btn1">全選</button>
<button class="btn2">全不選</button>
<button class="btn3">反選</button>
</div>
</body>
</html>

 

方法二:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>全部由jquery動態生成</title>
<script src="jquery.min.js"></script>
<script>

function checkAll(){   //全選
$(":checkbox").prop("checked",true );
}
function checkNo(){  //不選
$(":checkbox").prop("checked",false);
}
function checkRev(){  //反選
$.each($(":checkbox"),function(){
$(this).prop("checked",!$(this).prop("checked"));
});
}

$(function(){
var sec=$("<div></div>").appendTo($("body"));//創建一個div追加到body里面
var input="";//創建一個空的變量
for(var i=0;i<5;i++){
var index=i+1;
input+="<input type='checkbox' name='標題"+index+ "'value='標題"+index+"'>"+"標題"+index+"<br>";
}//把從0到4每一個創建的input收集到空變量里面
sec.append(input);//再把這些收集到的所有input追加到div里面

sec.append("<button onclick='checkAll()'>全選</button>");//創建全選按鈕,並追加到div里面
sec.append("<button onclick='checkNo()'>全不選</button>");//創建全不選按鈕,並追加到div里面
sec.append("<button onclick='checkRev()'>反選</button>");//創建反選按鈕,並追加到div里面
});

</script>
</head>
<body>
</body>
</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM