3

这是我在 Stack 上的第一个问题,尽管我多年来一直是它的粉丝。请耐心等待,我希望我的问题很清楚。

我正在使用这段代码:

$(document).on("click", "#checkbox img", function () {
   // object
   var checkbox = $(this).next("input[type=checkbox]");
   // check if checked
   if(checkbox.is(":checked")) {
       checkbox.prop("checked", false); this.src = "http://imgs.airwalk-design.com/layout/chckno.png";
   } else {
       checkbox.prop("checked", true); this.src = "http://imgs.airwalk-design.com/layout/chckyes.png";
   }
});

这很可爱。但是,如果用户关闭表单(它滑出,从 DOM 中删除),并打开另一个表单(ajax,插入 DOM),则复选框在该表单上不起作用。不过,我可以重新打开第一个表单,并且复选框对那个表单起作用,即使它已被删除并再次附加。

有什么建议吗?

编辑

MackieeE 的回答/评论对我有用。我改用“#uniqueformid #checkbox img”。

4

1 回答 1

1
#checkbox

是一个 id,因此只能出现一次,这可能是插入第二个表单时它不起作用的原因。尝试改用一个类。

于 2013-09-13T13:37:34.537 回答