jquery实现checkbox全选功能,第二次点击【全选】按钮,页面无法勾选

去面试,老多人问会不会jQuery啊,会不会ExtJS啊,以前都零星使用过,是使用别人封装好的版本,没单独研究过这些前端技术,闲暇之余,先研究研究jQuery。

找了本书,做了个jQuery实现全选功能的例子,觉得代码逻辑上都没有问题,第二次点击【全选】按钮页面就是无法勾选(在IE、FF、Chrome浏览器下均是以上症状)。

原始代码如下:

		<pre name="code" class="javascript">	/**全选复选框--单击 */
					$("#chkAll").change(function(){
							
						//勾选全选
						if(this.checked){
							
							$("table tr td input[type=checkbox]").attr("checked",true);
							
							
						}else{
							
							$("table tr td input[type=checkbox]").attr("checked",false);
							
							
						}
						
					});
html代码如下:
		<table><tr>
				<td><input id="chk5" name="ch" type="checkbox" value="4"></td>
				<td>1005</td>
				<td><img src="image/book/book5.jpg" alt=""/></td>
				<td>朱涛</td>
				<td>男</td>
				<td>27 元</td>
			</tr>
			<tr>
				<td><input id="chk6" name="ch" type="checkbox" value="5"></td>
				<td>1006</td>
				<td><img src="image/book/book6.jpg" alt=""/></td>
				<td>李奎</td>
				<td>男</td>
				<td>56 元</td>
			</tr>
		</table>
		<table>
			<tr>
				<td>
					<span><input id="chkAll" type="checkbox"/>全部</span>
					<span><input id="btnDel" class="btn" type="button" value="删除"/></span>
				</td>
			</tr>
		</table>

网上查资料,把attr('checked',true)都换成prop('checked',true)即可。

ps:同事说他的代码这样写就执行正常。

网上查阅资料知:jQuery1.9.1针对checkbox的调整方法,用prop代替attr。

在jquery 1.8.x中的版本,对于checkbox的选中与不选中操作如下:

1.判断是否选中:$('#checkbox').prop('checked')

2.设置选中与不选中状态:

$('#checkbox').attr('checked',true)$('#checkbox').attr('checked',false)

但此方法在jquery1.9.1中,有些处理不一样,同事执行正常的使用的正好是1.8版本,本人使用的是1.11版本。

参考网址:http://www.jb51.net/article/49593.htmhttp://my.oschina.net/cindy89/blog/315999

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值