【发布时间】:2020-03-06 19:05:04
【问题描述】:
我正在尝试使用选择选项更改订单状态。数据表的第一行工作正常。但是当改变二阶状态时,它不起作用。
选择选项代码:
<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]);
}
}
【问题讨论】:
-
您不应该将
input类型放在select标记之外吗? @Vikas Katariya 是正确的。您必须发布您的请求。无论如何,我要做的就是将data-id="{{ $assign->order->id }}"放在select元素中,然后在jQuery 中获取类似的id。始终尝试最小化您的代码以减少错误。 . -
你有多个选择和输入框?
-
你能显示你的刀片代码吗?
-
我明白了。实际上我的 order_id 始终为 1。这就是为什么二阶状态不会改变的原因。我再试一次@DimitriMostrey
-
@yasin:是的,多选和 order_id
标签: jquery ajax laravel datatable