簡體   English   中英

無法使用jquery從表div中的文本框中獲取值

[英]cannot get value from textbox inside table div using jquery

我想得到我分配了class =“qty-text”的文本框值。 它可以是多個文本框但是為了簡化我的例子,我在這里只使用了一個。 嘗試下面的代碼,但它返回未定義的值。 請幫助解決這個問題。

 $(document).on('click','.qButton',function(e){ var id="a318d5"; var get_value = $('#a318d5').closest("div.quantity").find("input[class='qty-text']").val(); alert(get_value); }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script> <table> <tr> <td class="action"><a href="#" id="a318d5" class="remove_cart"><i class="fa fa-times" aria-hidden="true"></i></a></td> <td class="cart_product_img"> <a href="#">Image</a> </td> <td class="cart_product_desc"> <h5>Product</h5> </td> <td> <span> M </span> </td> <td class="price"><span>$320</span></td> <td class="qty"> <div class="quantity"> <input type="number" class="qty-text" step="1" min="1" max="1" name="quantity" value=3> </div> <i class="fa fa-caret-down downarr"></i> </td> <td class="total_price"><span>960</span></td> </tr> </table> <button class="col-xs-12 qButton">select</button> 

代碼中的DOM層次結構存在問題。 input.qty-text在當前tr中的另一個td內部(我們甚至無法確切知道,下一個td與否)。 所以,試試這個:

$(document).on('click', '.qButton', function(e) {
  var id="a318d5";
  var get_value = $('#' + id).closest("tr").find("input.qty-text").val();

  alert(get_value);
});

您可以使用子選擇器(“父>子”)

 $(document).on('click','.qButton',function(e){ // input[name='Author["+sumClick+"][firstName]'] var id="a318d5"; var get_value = $("quantity > .qty-text ").val(); alert(get_value); }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script> <table> <tr> <td class="action"><a href="#" id="a318d5" class="remove_cart"><i class="fa fa-times" aria-hidden="true"></i></a></td> <td class="cart_product_img"> <a href="#">Image</a> </td> <td class="cart_product_desc"> <h5>Product</h5> </td> <td> <span> M </span> </td> <td class="price"><span>$320</span></td> <td class="qty"> <div class="quantity"> <input type="number" class="qty-text" step="1" min="1" max="1" name="quantity" value=3> </div> <i class="fa fa-caret-down downarr"></i> </td> <td class="total_price"><span>960</span></td> </tr> </table> <button class="col-xs-12 qButton">select</button> 

嘗試這個

 $(document).on('click','.qButton',function(e){ var id="a318d5"; var get_value = $('#a318d5').parents('tr').find("input[class='qty-text']").val(); alert(get_value); }); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script> <table> <tr> <td class="action"><a href="#" id="a318d5" class="remove_cart"><i class="fa fa-times" aria-hidden="true"></i></a></td> <td class="cart_product_img"> <a href="#">Image</a> </td> <td class="cart_product_desc"> <h5>Product</h5> </td> <td> <span> M </span> </td> <td class="price"><span>$320</span></td> <td class="qty"> <div class="quantity"> <input type="number" class="qty-text" step="1" min="1" max="1" name="quantity" value=3> </div> <i class="fa fa-caret-down downarr"></i> </td> <td class="total_price"><span>960</span></td> </tr> </table> <button class="col-xs-12 qButton">select</button> 

暫無
暫無

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

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