jQuery操作checkbox的方法
checkbox:复选框。
操作实例:jQuery操作checkbox的方法
下面的html为例进行checkbox的操作。
<input type="checkbox" name="checkbox" id="checkAll" />全选/取消全选
<input type="checkbox" name="checkbox" id="id1" value="1" />1
<input type="checkbox" name="checkbox" id="id2" value="2" />2
<input type="checkbox" name="checkbox" id="id3" value="3" />3
<input type="checkbox" name="checkbox" id="id4" value="4" />4
<input type="checkbox" name="checkbox" id="id5" value="5" />5
选中checkbox
由于和上篇一样的原因jQuery操作radio的方法-选中radio存在的问题,所以这里不再使用attr
,从而使用prop
。
var isSelected = $("#id3").prop("checked");//判断id=id3的那个复选框是否处于选中状态,选中则isSelected=true;否则isSelected=false;
var isSelected = $("#id3").is(":checked");//判断id=id3的那个复选框是否处于选中状态,选中则isSelected=true;否则isSelected=false;
$("#id3").prop("checked", true);//将id=id3的那个复选框选中,即打勾
$("#id3").prop("checked", 'checked');//将id=id3的那个复选框选中,即打勾
$("#id3").prop("checked", false);//将id=id3的那个复选框不选中,即不打勾
$("#id3").prop("checked", '');//将id=id3的那个复选框不选中,即不打勾
$("input[name=checkbox][value=3]").prop("checked", 'checked');//将name=checkbox, value=3 的那个复选框选中,即打勾
$("input[name=checkbox][value=3]").prop("checked", '');//将name=checkbox, value=3 的那个复选框不选中,即不打勾
$("input[type=checkbox][name=checkbox]").get(2).checked = true;//设置index = 2,即第三项为选中状态
document.getElementById("checkAll").checked = true;//原生写法
获取当前选中的值
var val = $("#id1").val();//获取指定id为id1的复选框的值
$("input[type=checkbox][name=checkbox]:checked").each(function(){ //由于复选框一般选中的是多个,所以可以循环输出选中的值
alert($(this).val());
});
//原生写法
var ids = document.getElementsByName("checkbox");
for(var i=0;i<ids.length;i++){
if(ids[i].checked){
alert(ids[i].value);
}
}
全选和全不选
$("#checkAll").click(function(){
if($(this).is(":checked")) {
$("input[name='checkbox']").each(function() {
this.checked = true;
//$(this).prop("checked", true); //同上一句
});
} else {
$("input[name='checkbox']").each(function() {
this.checked = false;
//$(this).prop("checked", false); //同上一句
});
}
});
自动监听是否要选择全选框
$("input[name='checkbox']").click(function() {
if($(this).is(":checked")) {
var flag = true;
$("input[name='checkbox']").each(function() {
if(this.checked==false) {
flag = false;
}
});
if(flag==true) {//两种方式均可
//document.getElementById("checkAll").checked = true;
$("#checkAll").prop("checked", true);
}
} else {
$("#checkAll").attr("checked", false);
}
});
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 bin07280@qq.com
文章标题:jQuery操作checkbox的方法
文章字数:681
本文作者:Bin
发布时间:2017-10-01, 12:28:31
最后更新:2019-08-06, 00:52:41
原始链接:http://coolview.github.io/2017/10/01/JavaScript/jQuery%E6%93%8D%E4%BD%9Ccheckbox%E7%9A%84%E6%96%B9%E6%B3%95/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。