簡體   English   中英

jQuery獲取最接近輸入字段的值

[英]jQuery get value closest input field

我有這樣的 HTML 代碼:

<tr>
  <td class='qty'><input class='narrow' value='1' /><i class='fa fa-trash' aria-hidden='true'></i></td>
  <td class='comm'><input class='narrow' value='' size='5'/></td>
</tr>

這段代碼會由一個 JS 函數自動生成,所以它發生的頻率更高。 要從第一個輸入中獲取值,我使用此函數:

jQuery('#tbl_order .qty input').bind('change', function() {

在這個函數中,我想獲得下一個輸入值。 我試過這個什么不起作用

jQuery(this).closest(".comm input").val()

.closest()

對於集合中的每個元素,通過測試元素本身並在 DOM 樹中向上遍歷其祖先來獲取與選擇器匹配的第一個元素。

您可以在最近的tr元素上使用find() 我也更喜歡分別使用on()input事件而不是bind()change

演示:

 jQuery('#tbl_order .qty input').on('input', function() { var nextVal = jQuery(this).closest("tr").find(".comm input").val(); console.log(nextVal); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table> <tr id="tbl_order"> <td class='qty'><input class='narrow' value='1' /><i class='fa fa-trash' aria-hidden='true'></i></td> <td class='comm'><input class='narrow' value='1234' size='5'/></td> </tr> </table>

您可以將next()closest()結合使用

 $('#tbl_order .qty input').bind('change', function() { var $currentTd = $(this).closest("td"); var $nextTd = $currentTd.next(); var value = $nextTd.find("input").val(); console.log(value); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <table id="tbl_order"> <tr> <td class='qty'><input class='narrow' value='1' /><i class='fa fa-trash' aria-hidden='true'></i></td> <td class='comm'><input class='narrow' value='' size='5'/></td> </tr> </table>

 $('.fa fa-trash').on('click', function () { 
 $tr = $(this).closest('tr');
    var data = $tr.children('td').map(function () {
      return $(this).text();
    }).get();
    console.log(data);


<table id="tbl_order">
<tr>
<td><input class='narrow' value='1' /><i class='fa fa-trash' aria- 
hidden='true'></i></td>
<td><input class='narrow' value='' size='5'/></td>
</tr>
</table>

這可能會讓您對映射函數有所了解。 在這里,我將 jquery onclick 類提供給 fa fa-trash。 所以每當事件被觸發時,特定的行就會被選中。 (我希望在表格中您從后端代碼獲取數據)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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