Bug Tracker

Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#13833 closed bug (duplicate)

:checkbox选择器的bug

Reported by: pvfhv@… Owned by:
Priority: undecided Milestone: None
Component: unfiled Version: 1.9.1
Keywords: Cc:
Blocked by: Blocking:

Description

页面代码: <input type="checkbox" value="歌曲一" />歌曲一<input type="checkbox" value="歌曲二" />歌曲二<input type="checkbox" value="歌曲三" />歌曲三<input type="checkbox" value="歌曲四" />歌曲四<input type="checkbox" value="歌曲五" />歌曲五 <input type="button" value="全选" id="allit"/>

jQuery代码: $(function () {

$('#allit').click(function () {

$('input').filter(':checkbox').each(function () {

$(this).attr('checked', !$(this).attr('checked'));

});

if ($(this).val() == '全选') {

$(this).val('全不选');

} else {

$(this).val('全选');

}

});

});

实现全选和全不选的功能,在实现第一次的“全选”和“全不选”后该功能失效,虽然checkbox上拥有checked="checked"属性,但页面上显示时不是勾选状态!!!望赐教和回复。

Change History (3)

comment:1 Changed 6 years ago by pvfhv

页面body中代码:<input type="checkbox" value="歌曲一" />歌曲一<input type="checkbox" value="歌曲二" />歌曲二<input type="checkbox" value="歌曲三" />歌曲三<input type="checkbox" value="歌曲四" />歌曲四<input type="checkbox" value="歌曲五" />歌曲五 <input type="checkbox" value="全选" id="allit"/><span>全选</span>

jQuery代码:$(function () {

$('#allit').click(function () {

$(this).attr('checked', !$(this).attr('checked'));

$('input').filter(':checkbox').each(function () {

$(this).attr('checked', !$(this).attr('checked'));

});

if ($(this).next().text() == '全选') {

$(this).next().text('全不选');

} else {

$(this).next().text('全选');

}

});

});

实现全选和全不选的功能,在实现第一次的“全选”和“全不选”后该功能失效,虽然checkbox上拥有checked="checked"属性,但页面上显示时不是勾选状态!!!望赐教和回复。

comment:2 Changed 6 years ago by dmethvin

Resolution: duplicate
Status: newclosed

Duplicate of #13245.

comment:3 Changed 6 years ago by pvfhv

使用jsFiddle测试仍然存在bug,在ie10及chrome v26上测试出现只能实现一次全选和全不选的功能,在ie8及以下版本则没有这个问题。同样的代码如果换成jQuery1.7,ie10及chrome v26则没有任何问题。http://img.blog.csdn.net/20130430151237987

Note: See TracTickets for help on using tickets.