【发布时间】:2016-04-13 06:26:28
【问题描述】:
使用 JQuery,我在其中一个 td 包含一个复选框的地方附加了一个 tr。它很好地出现在屏幕上。但是我想选择其中一个复选框并在点击时触发一个功能。由于某种原因,选择器看不到附加的复选框。我认为这是因为复选框实际上不在 HTML 源代码中。
那么,问题:我该怎么做才能选中此复选框?
$.each(categories, function (i, product) {
$(".table_products").append('<tr class="empty"><td >' + product.product_name + '</td><td>' + product.price + '</td><td> <input type="checkbox" value="cat_id"></td></tr>');
$("tr").addClass("cat_products");
});
$("td input:checkbox").on('click', function () {
alert('line 41');
});
【问题讨论】:
-
只要您在
$.each循环之后运行.on(),该代码就应该可以工作。 -
假设你的桌子是
.table_products你能试试这样的吗?$('.table_products').on('click', 'td input:checkbox', function(){...。这会将事件侦听器附加到表中,并将自动应用于新附加的复选框 -
如果您在页面加载时尝试绑定处理程序,请参阅stackoverflow.com/questions/203198/…
-
@David784 该死的,它成功了!我猜大卫的回答与巴尔玛基本相同。我是 JS 新手,我不得不承认我不明白 为什么 是有效的。