我创建了一个动态表,只需按一下按钮,每按一次按钮就会生成一个新行。一切都按预期工作,但select标签或任何其他输入中的class属性无法正常工作。我该如何让它发挥作用。任何想法??
以下是工作的.js代码,并在按钮点击时添加新行:
$('.plusbtn12').click(function () {
$(".quoteTable12").append('<tr><td><select class="js-select2 form-control c_solutions" name="i_solution[]" style="width: 100%;" data-placeholder="Choose one.."></select></td><td class="hidden-xs"><input class="form-control" type="text" name="i_quantity[]" placeholder="Quantity"></td><td><input class="form-control c_costing" type="text" name="i_cost[]" placeholder="Cost"></td></tr>');
var options = "";
$.getJSON("getSolution12.php", function (data) {
for (i = 0; i < data.length; i++) {
options += "<option>" + data[i] + "</option>";
}
$('.quoteTable12 tr:last').find('.c_solutions').html("");
$('.quoteTable12 tr:last').find('.c_solutions').append(options);
$(".c_solutions").change();
});
});
答案 0 :(得分:1)
由于您要动态添加select,因此您需要了解delegated events
说明: 根据a,为现在或将来与选择器匹配的所有元素的一个或多个事件附加处理程序 特定的根元素集。
选择你选择这样的课程
$( document ).on( "click", ".js-select2", function() {
console.log( "hey" );
});