JQuery:对新添加的表行使用绑定

JQuery : using bind for newly added table rows

本文关键字:绑定 添加 新添加 JQuery      更新时间:2023-09-26

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

我已经在文本框上设置了一个绑定,当文本框的值通过UI改变时,一个属性被添加/更新,如下所示:

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

对于在form load上加载的行可以很好地工作。但是,当我添加新的行表,它似乎不工作。我尝试使用下面的东西来利用事件委托,但这不起作用。

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

对于如何使这个工作为新添加的行有什么想法吗?

您呼叫.on()错误。第一个参数应该是事件名称(就像.bind()的第一个参数一样),第二个参数应该是选择器。您使用事件所属的bind,然后将事件名称(input)放入选择器中。应该是:

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