为什么Javascript无法正常添加?

时间:2017-02-01 23:48:51

标签: javascript jquery html

我的html中有一个表,我使用append使用jquery附加表中的所有行。附加部分的一部分如下所示。我有一个输入部分来更改数字,但现在这个输入点击不再有用了。

我想知道为什么?如果我将代码移回我的html表,它就可以了。 此外,删除按钮也不起作用。我怀疑这与追加功能有关吗?

$('.bundle-main').append('<li class="td td-amount">\
       <div class="amount-wrapper ">\
          <div class="item-amount ">\
             <div class="sl">\
               <input class="min am-btn" name="" type="button" value="-" />\
               <input class="text_box" name="" type="text" value="3" style="width:30px;" />\
               <input class="add am-btn" name="" type="button" value="+" />\
              </div>\
              </div>\
              </div>\
              </li>');

PS:我想使用append的原因是因为我想动态控制我的内容,我的CSS工作正常。

你知道为什么吗?

2 个答案:

答案 0 :(得分:2)

因为在附加输入之前定义了事件处理程序。 你有两个选择:

No1。追加输入后,再定义事件处理程序。

No2。只需在包装器上使用.on('click'),如下所示:

$('.bundle-main').on('click', '.add.am-btn', function(){
  // To Do
}); 

答案 1 :(得分:1)

由于您要动态添加输入,因此您需要确保在追加后添加点击侦听器。否则它们将不会出现在DOM中,并且不会附加单击侦听器。

只需在追加电话后附上你的听众。