我如何正确使用 jquery delegate() 来切换类?

发布于 2024-10-09 07:34:57 字数 595 浏览 4 评论 0原文

我是jquery的新手,所以请原谅我的误解。 我使用此代码:

$(".redbox").delegate("input[type=checkbox]", "change", function(){
   var index = this.id.substring(8);
   $(".inputfield" + index).toggleClass("complete");
     });

在输入文本字段的输入上切换类。 起初这段代码工作得很好,但由于我用 jquery 附加了整个内容, delegate() 使所有复选框和输入字段切换。

你可以在这段代码中明白我的意思: http://jsfiddle.net/eD5M5/

点击我 -- ->追加追加按钮 追加按钮----> 会追加复选框和输入字段(+删除按钮)

一旦切换类看起来不错,当您单击追加时, ! 但是当您单击多次并开始切换时,所有内容都会切换!

我问你的问题是;

我做错了什么,我该如何解决这个问题?

提前致谢

i'm new to jquery, so forgive me my misunderstandings.
i use this code:

$(".redbox").delegate("input[type=checkbox]", "change", function(){
   var index = this.id.substring(8);
   $(".inputfield" + index).toggleClass("complete");
     });

to toggle a class on the input of a input textfield.
At first this code worked fine, but since i append the whole thing with jquery,
delegate() makes all checkboxes and inputfields toggle.

you can see what i mean in this code: http://jsfiddle.net/eD5M5/

click me ---> appends the append button
append button ----> appends checkbox and input field (+remove button)

when you click append once the toggle class seem to look fine!
but when you click more than once and start to toggle, everything toggles!

My question to you is;

What am i doing wrong, and how can i fix this?

Thanks in advance

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

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

发布评论

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

评论(2

当梦初醒 2024-10-16 07:34:57

他们都被分配到相同的班级,并且您按班级选择他们,因此这会影响他们所有人。

无需按类选择,只需使用 .next() 从复选框遍历到文本字段。

示例: http://jsfiddle.net/eD5M5/3/

$(this).next().toggleClass("complete");

They all are given the same class, and you're selecting them by class, so it will affect them all.

Instead of selecting by class, just use .next() to traverse from the checkbox to the text field.

Example: http://jsfiddle.net/eD5M5/3/

$(this).next().toggleClass("complete");
思念绕指尖 2024-10-16 07:34:57

这是因为您没有增加计数器,因此所有输入都具有相同的类:检查修复< /a>

This is because you are not incrementing the counter, so all inputs have the same class: check the fix

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