2017-06-13 72 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