Javascript 动态创建的元素和事件
我想知道如何将事件添加到动态创建的元素中。 它在第一行可以正常工作,但需要将SplitSelectValue绑定到下一个生成的行Javascript 动态创建的元素和事件,javascript,jquery,Javascript,Jquery,我想知道如何将事件添加到动态创建的元素中。 它在第一行可以正常工作,但需要将SplitSelectValue绑定到下一个生成的行 $('#SelID_').change(function () { SplitSelectValue($(this)); }); function SplitSelectValue () { var data =$("#SelID_ option:selected").val(); var arr = data.split('|'); $("#SelVala_
$('#SelID_').change(function () {
SplitSelectValue($(this));
});
function SplitSelectValue () {
var data =$("#SelID_ option:selected").val();
var arr = data.split('|');
$("#SelVala_").val(arr[0]);
$("#SelValb_").val(arr[1]);
$("#SelValc_").val(arr[2]);
}
看
使用两个不同的表更新使用事件-委派
$(document).on('change', '#SelID_', function () {
SplitSelectValue($(this));
});
相反,ID最好使用类选择器(ID在页面上必须是唯一的,另一种方式是生成ID dynamicali)您需要的是
id应该是唯一的。如果您阅读JSFIDLE中的代码,那么您可以看到id是动态生成的。所以我想我需要使用函数(事件)和计数器。它对同一个表中的行很好,但是如果我在另一个表中创建一行呢
$(document).on('change', '[id^="SelID_"]', function () {
SplitSelectValue($(this));
});
function SplitSelectValue(obj) {
var data = obj.find("option:selected").val();
var arr = data.split('|');
var tr = obj.closest('tr');
tr.find("[id^='SelVala_']").val(arr[0]);
tr.find("[id^='SelValb_']").val(arr[1]);
tr.find("[id^='SelValc_']").val(arr[2]);
}