使用 jquery 问题选择所有复选框且功能不起作用

发布于 2024-12-09 16:31:21 字数 364 浏览 0 评论 0原文

第一:如何选择所有具有指定ID的复选框?

第二:

我得到:

<a href="javascript://" id="chkbox:all">Click to select all of the checkboxes</a>

然后在脚本的顶部我使用这个:

$(function () {
 $('#chkbox:all').click(function () {
  alert(1);
 });
});

并且 alert 没有出现在我的屏幕上 - 意味着该功能没有运行 - 为什么会发生这种情况?

First: How can I select all checkboxes with specified ID?

Second:

I got:

<a href="javascript://" id="chkbox:all">Click to select all of the checkboxes</a>

And then at the top of the script I'm using this:

$(function () {
 $('#chkbox:all').click(function () {
  alert(1);
 });
});

And alert doesn't appear on my screen - mean that function is not running - why it happends?

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

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

发布评论

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

评论(2

万人眼中万个我 2024-12-16 16:31:21

如果您尝试设置超过 1 个具有相同 ID 的复选框,则应该使用类,因为 ID 应该是唯一标识符。

另外,不要使用“:all”作为标识符的一部分,因为 jQuery 可能认为您想要使用选择器...尝试更改它,您的代码应该可以工作:)

If you're trying to set more than 1 checkbox with the same ID, you should be using a class instead, since IDs are supposed to be unique identifiers.

Also, don't use ":all" as part of your identifiers, since jQuery might think you want to use a selector... try to change that and your code should work :)

兔姬 2024-12-16 16:31:21

有两件事:

  1. 没有选择器 :all 并且您不能在 ID 中使用冒号 - 考虑到
  2. ID 必须是唯一的。不能有 2 个或更多具有相同 ID 的元素。

您需要使用另一种策略来查找所有复选框。像这样的事情:

$('input:checkbox').click( /* ... */ );

或者向所有复选框添加一个类并执行以下操作:

$('input.yourclass:checkbox').click( /* ... */ );

如果您想单击一个链接并选中所有复选框,请尝试以下操作:

// check on all the checks
$('#all-link-id').click(function(){ 
  $('input.yourclass:checkbox').attr('checked', true);
});

// check off all the checks
$('#none-link-id').click(function(){ 
  $('input.yourclass:checkbox').removeAttr('checked');
});

Two things:

  1. There's no selector :all and you can't use colons in IDs--take that out
  2. IDs must be unique. You can't have 2 or more elements with the same ID.

You'll need to use another strategy for finding all the checkboxes. Something like this:

$('input:checkbox').click( /* ... */ );

Or add a class to all the checkboxes and do this:

$('input.yourclass:checkbox').click( /* ... */ );

If you want to click on a link and have that check all the boxes, try this:

// check on all the checks
$('#all-link-id').click(function(){ 
  $('input.yourclass:checkbox').attr('checked', true);
});

// check off all the checks
$('#none-link-id').click(function(){ 
  $('input.yourclass:checkbox').removeAttr('checked');
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文