我有一个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="#">&nbsp; {{ $product['item']->product_name }}</a></h4>
            <!-- <span>Status: </span><span class="text-success">&nbsp;<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);
});

09-11 19:03
查看更多