JQuery:对新添加的表行使用bind

时间:2015-10-10 00:12:19

标签: javascript jquery html dom

我有一个HTML表,其中一列是文本框列。

我在文本框中设置了一个绑定,只要通过UI更改了文本框值,就会添加/更新属性,如下所示:

$('#container').find('.tableClass tbody').find('input[type=text]').bind('input', function () {
   $(this).attr('data-val', this.value);                
            });

这适用于表单加载中加载的行。但是当我向表中添加新行时,它似乎不起作用。我尝试使用类似下面的内容来利用事件委托,但这不起作用。

$('#container').find('.tableClass tbody').on('bind', 'input[type=text] input', function () {
    $(this).attr('data-val', this.value);                
        });

有关如何使其适用于新添加的行的任何想法吗?

1 个答案:

答案 0 :(得分:1)

您未正确调用.on()。第一个参数应该是事件名称(就像.bind()的第一个参数),第二个参数应该是选择器。您使用事件所属的bind,然后将事件名称(input)放入选择器。它应该是:

$('#container').find('.tableClass tbody').on('input', 'input[type=text]', function () {
    $(this).attr('data-val', this.value);                
});