单击时LaravelJavaScript会为表中的所有按钮获取相同的id

单击时LaravelJavaScript会为表中的所有按钮获取相同的id,javascript,laravel,Javascript,Laravel,我的桌子上有一个按钮,如: @foreach($orders as $order) <tr> //other td's... <td><button class="btn btn-block btn-theme02 pay-button" id="{{$order->id}}" type="submit">Pay!</button></td> </tr> @endforeach 和JavaScript类似:

我的桌子上有一个按钮,如:

@foreach($orders as $order)
<tr>
  //other td's...
  <td><button class="btn btn-block btn-theme02 pay-button" id="{{$order->id}}" type="submit">Pay!</button></td>
</tr>
@endforeach
和JavaScript类似:

<script type="text/javascript">
  $('.pay-button').click(function (event) {
    $.ajaxSetup({
        headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }
      });
    event.preventDefault();
    // $(this).attr("disabled", "disabled");
    var prdfoId = $(".kghgh").val();
        $.ajax({
          url: '{{url("orderspayonline")}}/'+encodeURI(prdfoId),
          type: "POST",
          cache: false,

          success: function(data) {
//codes...
}
});
    });
</script>
问题是我在所有tr中的付款按钮都获得相同的订单id

我的意思是如果我的订单id是1,我得到5,如果我的订单id是2,我得到5 5等等。5是数据库中的最新订单id


目前,您的id错误,因为您正在使用此id

var prdfoId = $(".kghgh").val();
其中只有1个输入具有固定值。为了获得实际值,您在每个按钮上都放置了orderId作为它们的id。您可以在js中根据需要使用它

<script type="text/javascript">
  $('.pay-button').click(function (event) {
    var prdfoId = $(this).attr("id"); // here will get the correct id
    $.ajaxSetup({
        headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }
      });
    event.preventDefault();
    // $(this).attr("disabled", "disabled");
        $.ajax({
          url: '{{url("orderspayonline")}}/'+encodeURI(prdfoId),
          type: "POST",
          cache: false,

          success: function(data) {
//codes...
}
});
    });
</script>

执行此任务的最佳方法是使用数据属性。将id={{$order->id}}更改为data id={{{$order->id}},您可以通过在jQuery中调用$this.data'id'获得特定的id。见下文:

@foreach($orders as $order)
<tr>
  //other td's...
  <td><button class="btn btn-block btn-theme02 pay-button" data-id="{{$order->id}}" type="submit">Pay!</button></td>
</tr>
@endforeach
JS代码:

<script type="text/javascript">
  $('.pay-button').click(function (event) {
    var prdfoId = $(this).data('id');
    $.ajaxSetup({
        headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }
      });
    event.preventDefault();
    // $(this).attr("disabled", "disabled");
        $.ajax({
          url: '{{url("orderspayonline")}}/'+encodeURI(prdfoId),
          type: "POST",
          cache: false,

          success: function(data) {
//codes...
}
});
    });
</script>

如果从开发工具进行检查,您是否在这些按钮上看到正确的订单ID?因为您使用的是带有html类属性的ID值,该属性将在遇到第一个类时使用该值。@Nisarg yes i Do.var prdfoId=$.kghgh.val;这一行包含什么?@Kasnady它获取“{{order->id}}”,因为我的路线是隐藏输入。我获取未定义我获取未定义