我的桌子上有按钮,如:
@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中的付款按钮都是order id
。
我的意思是如果我的订单ID为
1
,我会收到5
,如果我的订单ID为2
,我会收到5
等等。 (5是数据库中的最新订单ID)
答案 0 :(得分:1)
执行此类任务的最佳方法是使用数据属性。将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>
答案 1 :(得分:0)
目前您使用此错误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>