[英]Get a value from a hidden input field in a table row
我有一个表,该表是使用数据库中的数据自动生成并使用jquery创建的。 这是使用以下tr变量创建的,该变量附加到主体tbody上:以下是我的代码:
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);
});
现在,我想获取名为order_no_txt的html输入名称的值,我尝试通过以下函数进行访问,但失败:
$("#order_no_tr").on("click", ".cnfrmd_rcvd" + item.c_order_id, function() {
var order_no = this.value;
alert(order_no);
});
请告知我该如何实现?
由于隐藏元素是button的同级元素,因此可以使用该关系使用.next()
遍历到元素,并使用.val()
方法获取其值。
$("#order_no_tr").on("click", ".cnfrmd_rcvd" + item.c_order_id, function() {
var a = $(this).next(':hidden').val();
//Following can also be used
//$(this).closest('td').find(':hidden').val()
alert(a);
});
参考文献
您应该学习事件委托 ,以动态创建元素。
根据评论,单击仅适用于第一条记录,而单击不适用于其他记录。 , 标识符必须是唯一的。 似乎您多次重复使用order_no_tr
作为ID,所以这是预期的行为。
更改
$("#order_no_tr").on("click", ".cnfrmd_rcvd" + item.c_order_id, function() {
});
至
$(".cnfrmd_rcvd" + item.c_order_id).on("click", function() {
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.