[英]How to update select option datatable laravel for current row or id
我有更新所選選項的問題。數據庫可以更新,但它會更新所有數據。我只想更新當前行
javascript:
$(document).ready(function () {
$('#table_refund').on('change' ,'select', function() {
var data= $(this).closest('tr');
var status = $('option:selected',this).val();
alert(status);
$.ajax({
type: "get",
url: "/financial/approve/refund",
data: {status: status },
dataType: "JSON",
success: function (response) {
$('.alert').show();
}
});
});
controller:
public function studentrefund(Request $req)
{
//update table
data = Refund::find($req->userid);
$data->status = $req->status;
$data->save();
return response()->json(['success'=>'Saved successfully.']);
}
您需要檢查特定的 ID 和該用戶 ID,以便獲得當前行。
Controller::
public function studentrefund(Request $req)
{
//update table
$data = Refund::where('id',$req->id)->where('userid',$req->userid)->first();
$data->status = $req->status;
$data->save();
return response()->json(['success'=>'Saved successfully.']);
}
您可以使用 fundOrFail 的 findOrFail 和 firstOrFail 方法來檢索查詢的第一個結果。 但是,如果沒有找到結果,則會拋出 Illuminate\Database\Eloquent\ModelNotFoundException laravel.com/docs/5.1/eloquent#retrieving-single-models
public function studentrefund(Request $req)
{
//validate user id
request()->validate([
'userid' => 'required',
]);
//update table
$data = Refund::findOrFail($req->userid);
$data->status = $req->status;
$data->save();
return response()->json(['success'=>'Saved successfully.']);
}
選項:
<select id="table_refund">
<option data-id="{{ $row->id }}" value="Aktive">Test Data</option>
</select>
Jquery:
$(document).ready(function() {
$('#table_refund').on('change', 'select', function() {
var id = $(this).data('id');
var status = $('option:selected', this).val();
$.ajax({
type: "POST",
url: "{{ url('financial/approve/refund') }}",
data: {
"id": id,
"status": status,
},
dataType: "JSON",
success: function(response) {
$('.alert').show();
}
});
});
Controller:
public function studentrefund(Request $request)
{
$data = Refund::findOrFail($request->id);
$data->status = $request->status;
$data->save();
return response()->json(['success'=>'Saved successfully.']);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.