如何使用数据表“按更改”选择选项更新数据库的第二行

问题描述 投票:0回答:1

我正在尝试使用选择选项更改订单状态。数据表的第一行工作正常。但是,当更改二阶状态时,它不起作用。

选择选项代码:

 <select name="status" id="status">status
      <option value="Order Placed">{{$assign->status}}</option>
      <option value="On Way">On Way...</option>
      <option value="Delivered">Delivered...</option>
      <option value="Cancelled">Cancelled...</option>
      <input type="hidden" id="order_id" value="{{ $assign->order->id }}" name="order_id">
</select>

jQuery代码:

$(document).ready(function () {
        $('#table_id').on('change' ,'select', function() {
        var status = $('#status').val();
        var order_id = $('#order_id').val();
        alert(status);

        $.ajax({
          type: "get",
          url: "{{ url ('/admin/abc')}}",
          data: {status: status, order_id: order_id},
          dataType: "JSON",
          success: function (response) {
            $('.alert').show();
            $('.alert').html(result.success);
          }
        });
    });

  });

Route.php:

Route::get('/admin/abc','AdminController@abc')->name('assign.abc');

控制器代码:

public function abc(Request $req){
    DB::table('assigns')->WHERE('id',$req->order_id)->update(['status' => $req->status]);
}
}
jquery ajax laravel datatable
1个回答
0
投票

更改路由文件

Route::post('/admin/abc','AdminController@abc')->name('assign.abc');

更改您的jQuery代码。

$(document).ready(function () {
        $('body').on('click','#table_id',function(){
        var status = $('#status').val();
        var order_id = $('#order_id').val();
        $.ajax({
          type: "POST",
          url: '{{ route("assign.abc") }}',
          headers: {
                    'X-CSRF-TOKEN': '{{ csrf_token() }}'
                },
          data: {status: status, order_id: order_id},
          dataType: "JSON",
          success: function (response) {
            $('.alert').show();
            $('.alert').html(result.success);
          }
        });
    });

  });
© www.soinside.com 2019 - 2024. All rights reserved.