html中用jQuery判断复选框是否选中

假设我们现在需要这样的场景:页面上有一个checkbox,我们期望通过Jquery来获得它是否选中,或者通过Jquery来让它被选中。 
在JQ1.6之前的版本,我们会这样写我们的代码:

代码如下:

<input type=‘checkbox‘ id=‘cb‘/> 
<script> 
//获取是否选中 
var isChecked = $(‘#cb‘).attr(‘checked‘);

//设置选中 
$(‘#cb‘).attr(‘checked‘,true); 
</script>

这样写在JQ1.6之前完全没问题,可是当我们升级JQ1.6到更高的版本时,问题就来了,此时我们会发现: 
$(‘#cb‘).attr(‘checked‘); 返回的是checked或者是undefined,不是原来的true和false了。 
并且checked属性在页面初始化的时候已经初始化好了,不会随着状态的改变而改变。所以如果checkbox一开始是选中的,那么返回的是checked,如果一开始没被选中,则返回的是undefined。

解决的方法是:

代码如下:

<input type=‘checkbox‘ id=‘cb‘/> 
<script> 
//获取是否选中 
var isChecked = $(‘#cb‘).prop(‘checked‘); 
//或 
var isChecked = $(‘#cb‘).is(":checked"); 
//设置选中 
$(‘#cb‘).prop(‘checked‘,true); 
</script>

分析了其中的原因,可以这样理解:

它将“属性”与“特性”做了区别,属性指的是“name,id”等等,特性指的是“selectedIndex, tagName, nodeName”等等。 
JQ1.6之后,可以通过attr方法去获得属性,通过prop方法去获得特性

代码如下:

$("#cb").attr("tagName"); //undefined 
$("#cb").prop("tagName"); //INPUT

时间: 2024-10-02 03:34:38

html中用jQuery判断复选框是否选中的相关文章

jquery判断复选框是否选中

jquery判断复选框是否被选中 $(function(){ $(document).on("click", ".checkbox",function(){ var bool=$(".checkbox").is(":checked") ? !0 : !1; if(bool){ $(this).after('选中') } }) })

[jQuery] 判断复选框是否选中

返回值是true/false method 1: $("#register").click(function(){ if($("#accept").get(0).checked){ alert($("#accept").get(0).checked); } else{ alert($("#accept").get(0).checked); } });// 其中accept为复选框的id. 或者可以替换为: $("#a

jquery特效(6)—判断复选框是否选中进行答题提示

前面有一段时间思想开了小差,跟着师父学习了一段时间才发现差距很大,看来我要奋起直追~\(≧▽≦)/~啦啦啦. 最近公司在做一个项目,需要根据用户选择的选项给出相应的提示,下面来看我写的测试程序的效果: 一.实现的原理: 第一步:判断用户选择哪一项,即哪个复选框被选中 第二步:根据复选框的选中情况给出相应的提示 二.下面来看主体程序: <!DOCTYPE html> <html> <head> <meta charset="utf-8" />

jQuery判断复选框是否勾选

一个功能复选框勾选时给input表单赋值,复选框取消时将表单值清除. 功能:复选框勾选时给input表单赋值,复选框取消时将表单值清除. 实现源码:cyfID为复选框的id $("#cyfID").click(function(){ var ischeck=$(this).attr("checked"); if(ischeck==undefined){ //清除输入框 alert(""); }else{ //给输入框赋值 alert("

JQuery判断复选框是否有选中

隐藏所有被选中的元素(复选框或单选按钮): $(".btn1").click(function(){ $(":checked").hide(); }); 定义和用法 :checked 选择器选取所有选中的复选框或单选按钮.

JQuery、js判断复选框是否选中状态

JQuery: var $isChecked = $("#id").is(":checked"); alert($isChecked); JS: var $id = document.getElementById("id"); alert($id.checked); Notes: JQuery中,is函数里的必须要有冒号,否则不见效: JS中,必须调用checked 即>>> .checked

jquery、js判断复选框是否选中

js: if (document.getElementById("checkboxID").checked) { alert("checkobx is checked");}  jquery: if ($("#checkboxID").prop("checked")) { alert("checkbox is checked"); } 或 if ($("#checkboxID").is(

jquery 判断复选框是否被选中

1 <div> 2 <span>高亮:</span><input type="checkbox" name="light" value="1"> 3 </div> 4 5 //jquery: 6 7 var light = $("[name='light']").is(':checked'); 8 alert(light); 弹出 true/false

jquery判断复选框是否被选中

$("#isUse").click(function(){ if($(this).is(':checked')){ $(this).attr('checked','checked'); $("#redNum").val($('#redAva').val()); }else{ $(this).attr('checked','checked'); $("#redNum").val(0); } });