如何使用 jQuery 将toggleClass 添加到选中的复选框?
我在单击时附加了一些输入文本字段和复选框。 但是,当选中复选框时,我想将Class切换到输入文本字段。 这是我的创建代码:
jQuery(function() {
var counter = 0;
$('#appendbtn').click(function() {
var elems = '<div>' + '<input type="checkbox" id="checkbox"' + (counter) + '" class="item"/>' + '<input type="text" id="inputfield"' + (counter) + '"/>' + '</div>';
$('#box').append(elems);
counter++;
return false;
});
这就是应该发生的事情;
if ($("#checkbox").is(":checked"))
{
$("inputfield" + counter).toggleClass("complete")
});
当然这是不正确的,但我希望你明白我的意思;) 顺便问一下,如果没有 if 语句,这可能吗?
这是 jsfiddle http://www.jsfiddle.net/gkdKY/
哦,这正是我想要 http://www.jsfiddle.net/xzmcL/ 但带有附加的复选框!
I append some input textfields and checkboxes onclick.
But when a checkbox is checked i want to toggleClass to the input textfield.
This is my create code:
jQuery(function() {
var counter = 0;
$('#appendbtn').click(function() {
var elems = '<div>' + '<input type="checkbox" id="checkbox"' + (counter) + '" class="item"/>' + '<input type="text" id="inputfield"' + (counter) + '"/>' + '</div>';
$('#box').append(elems);
counter++;
return false;
});
This is what should happen;
if ($("#checkbox").is(":checked"))
{
$("inputfield" + counter).toggleClass("complete")
});
Ofcourse this isn't correct, but i hope you get what i mean ;)
is this by the way possible without an if statement?
here is the jsfiddle http://www.jsfiddle.net/gkdKY/
oh and this is exactly what i want http://www.jsfiddle.net/xzmcL/
but with appended checkboxes!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这一行:
...有两个额外的引号。它应该是:
这会破坏
click
事件的选择器。但请注意,这无论如何都行不通,因为您试图挂钩一个在按下“单击我”链接之前不存在的元素 - 因此您需要使用.live()
或.delegate()
无论如何。像这样的事情可能会起作用:
This line:
...has two extra quotes. It should be:
That breaks your selector for the
click
event. But note, that won't work anyway, since you are trying to hook an element that does not exist until the 'click me' link is pressed - so you need to use.live()
or.delegate()
for that anyway.Something like this might work:
您想要:
我假设您没有动态地将复选框的选中状态设置为 true 。
You want:
I'm assuming you aren't setting your checkboxes' checked state to true dynamically.