Jquery 获取checkbox的checked问题
2024-08-30 06:45:00
这个郁闷了,今天写这个功能的时候发现了问题,上网找了好多资料对照,更加纠结。。。
事实证明一切,自己测试了N遍,发现网上的说法和自己以前的理解都是错的,不知道大家有没发现.
下面来看看网上大多资料的说法
转别人的一些东西:
在html的checkbox里,选中的话会有属性checked="checked"。
如果用一个checkbox被选中,alert这个checkbox的属性"checked"的值alert($(#xxx).attr("checked")),会打印出"true",而不是"checked"!
如果没被选中,打印出的是"undefined"。
注意红色的部分,这里说到
$("#chekbox").sttr("checked")//should be print "true" , not "checked"
经过测试,证明上面说法有问题
<script type="text/javascript">
$(function() {
$("#button").click(function() {
alert($("#checkbox").attr("checked"));
});
});
</script> <input type="checkbox" name="checkbox" id="checkbox"><input type="button" id="button" value="Click Me">
//上面得出的结果是: 如果勾上checkbox,会打印出 “checked” , 如果取消打勾 会打印出 "undefined"
实验证明Jquery获取checked的值得打印出"true"是错误的
举一反三:
而且发现Jquery获取已经被勾上的checkbox,永远都是"checked" 这让人费解,如果有人知道为什么,可以告诉我一下,哈~~
<script type="text/javascript">
$(function() {
$("#button").click(function() {
alert($("#checkbox").attr("checked"));
});
});
</script> <input type="checkbox" name="checkbox" id="checkbox" checked><input type="button" id="button" value="Click Me">
//注意红色位置,如果默认checkbox为checked状态,测试会发现,把勾去掉也是只会输出"checked" , 表示不理解为什么 Jquery会这样
解决方法,还是用document.get获取吧:
<script>
function getcheckbox(){
var test = document.getElementById("checkbox").checked;
alert(test);
}
</script>
<input type="checkbox" name="checkbox" id="checkbox"><input type="button" id="button" value="Click Me" onclick="getcheckbox()">
//选中为"true",取消选中为"false"
最新文章
- Win2008R2+java+tomcat安装
- AC自动机(1)
- OperService.class.php
- byte和hexstring,int,string等的转换类
- Java学习笔记——单例设计模式Singleton
- JS内存泄露常见原因
- jmeter 使用聚合报告分析jtl文件
- 小白日记2:kali渗透测试之被动信息收集(一)
- (转) 各种好用的插件 Xcode
- Python【第一篇】基础介绍
- 全国计算机等级考试二级教程-C语言程序设计_第14章_结构体、共用体和用户定义类型
- Dijkstra算法求单源最短路径
- Java读取证书
- Linux 信号signal处理函数
- Django分页(一)
- 安卓preview不显示的问题
- laravel 之jwt认证使用详解
- 使用Oozie中workflow的定时任务重跑hive数仓表的历史分期调度
- go语言之进阶篇正则表达式
- Digitalocean + ss 搭建加密通信代理服务器