我有一个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);
});
有关如何使其适用于新添加的行的任何想法吗?
答案 0 :(得分:1)
您未正确调用.on()
。第一个参数应该是事件名称(就像.bind()
的第一个参数),第二个参数应该是选择器。您使用事件所属的bind
,然后将事件名称(input
)放入选择器。它应该是:
$('#container').find('.tableClass tbody').on('input', 'input[type=text]', function () {
$(this).attr('data-val', this.value);
});