2017-06-13 74 views
0

情況正在用javascript更新購物車。事件來自選擇名稱=「變化-1」的項目變化。有很多.shop-items。如何讓輸入的句柄有數據產品ID,如果你有從選擇更改名稱$(本)=「變異-1」 =jQuery高級dom導航

<div class="product-tools shop-item"> 
    <div class="count-input"> 
     <a class="incr-btn" data-action="decrease" href="#">–</a> 
     <input class="quantity" type="text" data-product-id="7" value="3"> 
     <a class="incr-btn" data-action="increase" href="#">+</a> 
    </div><!-- .count-input -->       
    <div class="form-element"> 
     <select name="variation-1" class="form-control form-control-sm variation-select" data-toggle="tooltip" title="" data-original-title="color"> 
      <option value="blue">blue</option>       
      <option value="red" selected="">red</option> 
     </select> 
    </div> 
    <div class="form-element"> 
     <select name="variation-2" class="form-control form-control-sm variation-select" data-toggle="tooltip" title="" data-original-title="size"> 
      <option value="S">S</option>       
      <option value="M">M</option>       
      <option value="L">L</option>       
      <option value="XL" selected="">XL</option>       
      <option value="XXL">XXL</option>    
     </select> 
    </div> 
</div> 

回答

2

這應該讓你從相關輸入產品ID 。它穿越到封閉「店項目」分區,然後內搜索與「量」類的輸入,其中有產品,它的數據屬性:如果你想

var productID = $(this).closest(".shop-item").find(".quantity").data("product-id"); 

另外,發現其中有「數據產品id」屬性的實際元素,你可以做什麼,建議在下面的意見:

var input = $(this).closest(".shop-item").find("[data-product-id]"); 
+0

這得到了輸入的值,這個問題問:*「如何獲得輸入句柄「*(只是不添加'data(..)'部分) –

+1

可選:'$(this).closest(」。shop-item「)。find(」[data-product-id] 「)' –

+0

@ freedomn -m是的,我認爲你是對的。將編輯答案。 – ADyson