jQuery 按钮检查所有复选框问题

发布于 2024-11-06 08:02:53 字数 227 浏览 0 评论 0原文

我有一个按钮可以选中 div 中的所有复选框并取消选中。

但是,如果我要手动选中一个复选框,然后单击“全部选中”按钮,然后取消选中所有复选框,则手动选中的复选框不会取消选中!

有什么想法吗?

http://jsfiddle.net/hM5bu/1/

I have a button that checks all checkboxes in a div and un-checks.

However if I were to manually check one checkbox, then hit the Check all button and then uncheck all, the checkbox which was manually checked does not become unchecked!

Any ideas?

http://jsfiddle.net/hM5bu/1/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

乱世争霸 2024-11-13 08:02:54

那是因为 jQuery 在 1.6 中发生了变化,

使用 attr 而不是 prop 破坏了它。

尝试使用 prop 代替

更新的小提琴:http://jsfiddle.net/hM5bu/2 /

请参阅此问题:.prop() 与 .attr() 了解更多信息jQuery 1.6 中的 propattr

Thats because jQuery was changed in 1.6

Using attr instead of prop is what is breaking it.

Try using prop instead

Updated fiddle: http://jsfiddle.net/hM5bu/2/

See this question: .prop() vs .attr() for more about prop and attr in jQuery 1.6

吐个泡泡 2024-11-13 08:02:54

这是一个解决方案:

<input type="checkbox" name="todos" id="todos" /> All<br/>
<input class="marcartodos" type="checkbox" name="marcado[]" value="1" />1<br/>
<input class="marcartodos" type="checkbox" name="marcado[]" value="2" />2<br/>
<input class="marcartodos" type="checkbox" name="marcado[]" value="3" />3<br/>
<input class="marcartodos" type="checkbox" name="marcado[]" value="4" />4<br/>

<script type="text/javascript">

$(function() {

$("#todos").click(function() {                          
if ($(this).is(':checked'))                         
$(".marcartodos").attr('checked', true);
else 
$(".marcartodos").attr('checked', false);
});

});

</script>

here is a solution:

<input type="checkbox" name="todos" id="todos" /> All<br/>
<input class="marcartodos" type="checkbox" name="marcado[]" value="1" />1<br/>
<input class="marcartodos" type="checkbox" name="marcado[]" value="2" />2<br/>
<input class="marcartodos" type="checkbox" name="marcado[]" value="3" />3<br/>
<input class="marcartodos" type="checkbox" name="marcado[]" value="4" />4<br/>

<script type="text/javascript">

$(function() {

$("#todos").click(function() {                          
if ($(this).is(':checked'))                         
$(".marcartodos").attr('checked', true);
else 
$(".marcartodos").attr('checked', false);
});

});

</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文