javascript - Jquery on click 功能仅适用于第一行数据。

标签 javascript jquery

我有一个表,它是使用数据库中的数据自动生成并使用 jquery 创建的。这是使用附加到主 tbody 的以下 tr 变量创建的:下面是我的代码:

var list = " <tr id='order_no_tr'><td id='order_no_td" + item.documentno + "'>" + item.documentno + "</td><td>" + item.progressstatus + "</td><td>" + newDate + "</td>\n\
                                <td><button type='button' id='cnfrmd_rcvd" + item.c_order_id + "' class='btn btn-default btn-sm cnfrmd_rcvd" + item.c_order_id + "' >Confirm Received</button>\n\
        <input type='hidden' name='order_no_txt' id='order_no_txt" + item.c_order_id + "' value='" + item.c_order_id + "' class='order_no_txt" + item.c_order_id + " btn btn-primary'/>\n\
        </td></tr>";
$("#order_no_tbody").append(list);
$("#order_no_tr").on("click", ".cnfrmd_rcvd" + item.c_order_id, function() {
    var order_no = this.value;
    alert(order_no);
});

现在我遇到了单击功能的问题,它仅适用于生成的表的第一行。如何使 onclcick 函数与 onclick 函数的所有条目一起使用?下面是 onclcick 函数,它依赖 tr id 来获取已确认的订单 id。

$("#order_no_tr").on("click", ".cnfrmd_rcvd" + item.c_order_id, function() {
    var order_no = this.value;
    alert(order_no);
});

最佳答案

试试这个

$(document.Body).on("click", ".cnfrmd_rcvd" + item.c_order_id, function() {
    var order_no = this.value;
    alert(order_no);
});

现在点击事件适用于所有 .cnfrmd_rcvd。目前您正在将点击事件与#order_no_t绑定(bind)

关于javascript - Jquery on click 功能仅适用于第一行数据。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35030916/

相关文章:

javascript - 为什么angular的DI内联注解中的函数是数组元素?

javascript - If 语句不针对预期的屏幕宽度

javascript - 如何防止 Backbone 模型向集合事件传播?

javascript - 显示字符总和和单词总和

Javascript过滤方法,删除数组中所有匹配值的项目

javascript - Greasemonkey setTimeout 和 setInterval 不触发

javascript - 在哪些情况下乘法和除法不能解决浮点错误?

php - 在 mysql 中存储回历日期的最佳方式?

jquery - 为点击事件的整个主体创建 jquery 事件

c# - 为逗号分隔字符串中的每个值遍历数组