我有一个ajax函数,该函数具有两个参数来更新一定数量的物品。现在,我在如何让$product_id
通过我的ajax参数时遇到麻烦。我没有关于如何通过$product_id
提供我的ajax函数的任何技术。
顺便说一句,我正在使用laravel。
这是我的代码:
@foreach($products as $product)
<tr>
<td class="col-sm-8 col-md-4">
<div class="media">
<a class="thumbnail pull-left" href="#"> <img class="media-object" src="http://icons.iconarchive.com/icons/custom-icon-design/flatastic-2/72/product-icon.png" style="width: 72px; height: 72px;"> </a>
<div class="media-body">
<h4 class="media-heading"><a href="#"> {{ $product['item']->product_name }}</a></h4>
<!-- <span>Status: </span><span class="text-success"> <strong>In Stock</strong></span> -->
</div>
</div></td>
<td class="col-sm-1 col-md-1" style="text-align: center">
<input type="number" class="form-control" id="productqty" max="{{ $product['maxqty'] }}" min="1" value="{{ $product['qty'] }}">
</td>
</tr>
@endforeach
现在在我看来,我想在单击
input type="number"
时更新项目的数量这是我的javascript:
$("#productqty").bind('keyup mouseup', function () {
var value = $(this).val();
updateQty(?,value);
});
这是我的JavaScript。现在,我想获取所选输入类型编号的product_id。我有很多产品。当我在ID为
keyup mouseup
的输入类型中单击$productqty
事件时,如何获取确切的product_id,以便可以提供我在其中添加问号的ajax函数参数。 updateQty(?,value);
的?是我想要替换product_id
的地方。 最佳答案
对于事件处理程序,使用id将仅处理一个dom,为此使用class:$(".productqty").bind(..)
和
<input type="number" class="form-control productqty" id="" max="{{ $product['maxqty'] }}" min="1" value="{{ $product['qty'] }}">
满足您需求的简单方法是将产品ID放入输入属性中,因为现在ID是可以免费使用的,我们可以像这样使用它:
<input type="number" class="form-control productqty" id="{{ $product['id'] }}" max="{{ $product['maxqty'] }}" min="1" value="{{ $product['qty'] }}">
您可以使用jquery.attr(),
$(this).attr('id');
来获取它:$(".productqty").bind('keyup mouseup', function () {
var product_id = $(this).attr('id');
var value = $(this).val();
updateQty(product_id, value);
});