如何使用“更改时”数据表更新数据库中的第二行

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

选择选项代码:

 <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]);
}
}
tianjing_anbey 回答:如何使用“更改时”数据表更新数据库中的第二行

更改路由文件

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);
          }
        });
    });

  });
,

您应该获得选择输入的选择值

使用

$('option:selected',this).val()

$(document).ready(function () {
        $('#table_id').on('change','select',function() {
        var status = $('option:selected',this).val();
        ...
,
public function abc(Request $req,Assign $assign){
 $data = Assign::find($req->order_id);
        $data->status = $req->status;
        $data->save();
         return response()->json(['success'=>'Saved successfully.']);

}

Try This On your Controller

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

in js

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

        $.ajax({
          type: "get",url: 'assign',success: function (response) {
            $('.alert').show();
            $('.alert').html(result.success);
          }
        });
    });

  });
本文链接:https://www.f2er.com/3126567.html

大家都在问