使用Jquery1.9 版本 来实现全选
2024-10-19 16:39:00
在使用Jquery实现全选以及反选的时候, 使用attr()实现的时候,在浏览器第一次运行可以全选,但是第二次再全选,不管用。
通过查找资料,用 prop()方法代替attr()方法就行了。
注意:
Jquery 1.6之后,可以通过attr方法去获得属性,通过prop方法去获得特性.
在遇到要获取或设置checked,selected,readonly和disabled等属性时,用prop方法.
jquery1.6中新加了一个方法prop(),官方解释只有一句话:获取在匹配的元素集中的第一个元素的属性值。
大家都知道有的浏览器只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked",比如用attr("checked")获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是undefined。
jq提供新的方法“prop”来获取这些属性,就是来解决这个问题的,以前我们使用attr获取checked属性时返回"checked"和"",现在使用prop方法获取属性则统一返回true和false。
那么,什么时候使用attr(),什么时候使用prop()?
1.添加属性名称该属性就会生效应该使用prop();
2.是有true,false两个属性使用prop();
3.其他则使用attr();
以下是官方建议attr(),prop()的使用:
Attribute/Property | .attr() |
.prop() |
---|---|---|
accesskey | √ | |
align | √ | |
async | √ | √ |
autofocus | √ | √ |
checked | √ | √ |
class | √ | |
contenteditable | √ | |
draggable | √ | |
href | √ | |
id | √ | |
label | √ | |
location ( i.e. window.location ) | √ | √ |
multiple | √ | √ |
readOnly | √ | √ |
rel | √ | |
selected | √ | √ |
src | √ | |
tabindex | √ | |
title | √ | |
type | √ | |
width ( if needed over .width() ) |
√ |
以下是实现全选以及反选的Html代码,要引用Jquery脚本。Jquery1.6以上都行
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="jquery-1.9.1.js"></script>
</head>
<body>
<input type="checkbox" value="全选" id="cbAll" name="cbArea">全选<br/>
<input type="checkbox" value="洛龙区" name="a">洛龙区
<input type="checkbox" value="涧西区" name="a">涧西区
<input type="checkbox" value="吉利区" name="a">吉利区
<input type="checkbox" value="西工区" name="a">西工区
<input type="checkbox" value="宜阳县" name="a">宜阳县
<input type="checkbox" value="老城区" name="a">老城区
<input type="checkbox" value="回族区" name="a">回族区
<input type="checkbox" value="偃师" name="a">偃师
<input type="checkbox" value="哈哈区" name="a">哈哈区
<input type="checkbox" value="洛宁区" name="a">洛宁区 </body>
</html> <script type="text/javascript">
$(function () {
$("#cbAll").click(function () {
if($("#cbAll").is(":checked")) {
$(":checkbox").prop("checked",true);
}
else {
$(":checkbox").prop("checked", false);
} }); $(":checkbox").click(function () {
if (!$(this).is(":checked")) {
$("#cbAll").prop("checked", false);
} });
})
</script>
最新文章
- 【caffe】未定义函数或变量caffe_
- linux 多台 主机的免登录ssh的配置
- cf584a(水题)
- Erlang安装笔记
- 实例化(用new的方式)创建一个对象的顺序
- <;转>;windows下安装redis
- ashx ajax 与 自定义javascript函数
- vue 中获取select 的option的value 直接click?
- SpringBoot2.0之一 新建项目helloWorld
- .NETCore 基于 dbfirst 体验快速开发项目
- Visual Studio Code-批量在文末添加文本字段
- arcgis更改栅格数据范围
- .net缓存的应用研究(读篇)
- 哈希小demo hashCode取模
- HTML页面的重绘(repaint)和重流(reflow)
- 使用sass与compass合并雪碧图(二)
- Oracle性能优化之表压缩及并行提高效率的测试
- sqlserver 2008备份与还原
- iOS跳转到Touch ID设置界面
- (转)Inno Setup入门(二十一)——Inno Setup类参考(7)