关于复选框选中状态的判断


1.checked的选中状态
不设置checked是默认不选被选中的,
一旦设置checked="false"或者checked = false或者checked="true"或者checked = true或者不设置任何值,都会被解释为选中。
<input type="checkbox" name="test" id="test1"/>  //未被选中
<input type="checkbox" name="test" id="test2"/ checked="false">  //选中
<input type="checkbox" name="test" id="test3"/ checked="true">  //选中
<input type="checkbox" name="test" id="test4"/ checked=false>  //选中
<input type="checkbox" name="test" id="test5"/ checked=true>  //选中
<input type="checkbox" name="test" id="test6"/ checked >  //选中

 

2.取值(.val())--- 不能用来判断状态
<input type="checkbox" name="test" id="test1"/> //未被选中
<input type="checkbox" name="test" id="test2"/ checked>  //选中
console.log($("#test1").val())  //打印出on
console.log($("#test2").val())  //打印出on
对checked取值,无论是选中状态或者未选中状态都是on,
所以要判断是否选中,不能使用.val()
 
 
3.取属性值(.attr)--- 不能用来判断状态
<input type="checkbox" name="test" id="test1"/> //未被选中
<input type="checkbox" name="test" id="test2"/ checked>  //选中
console.log($("#test1").attr("checked"))  //打印出undefine
console.log($("#test2").attr("checked"))  //打印出undefine
对checked取值,无论是选中状态或者未选中状态都是undefine,
所以要判断是否选中,不能使用.attr("checked")
 
4.获取当前状态(.prop())--- 可用来判断状态
<input type="checkbox" name="test" id="test1"/> //未被选中
<input type="checkbox" name="test" id="test2"/ checked>  //选中
console.log($("#test1").prop("checked"))  //打印出false
console.log($("#test2").prop("checked"))  //打印出true
用prop取值,选中状态为true,未选中状态都是false,
所以要判断是否选中,可以使用.prop("checked")
 
 

5.$("input[type='checkbox']").is(':checked')---可用来判断状态

<input type="checkbox" name="test" id="test1"/> //未被选中
<input type="checkbox" name="test" id="test2"/ checked>  //选中
console.log($("#test1").is(":checked"))  //打印出false
console.log($("#test2").is(":checked"))  //打印出true
用.is(':checked'),选中状态为true,未选中状态都是false,
所以要判断是否选中,可以使用.is(':checked')


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM