簡體   English   中英

從表行的隱藏輸入字段中獲取值

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM