[英]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.