У меня есть таблица данных пользователей, и я пытаюсь изменить их роль, заполняя роли из базы данных в базу данных.Я использую Ajax, чтобы изменить роль, и это работает.но проблема в том, что значение выбора опции из выпадающего списка не отправляется в базу данных.
При этом я прикрепил свой вид функции контроллера и код ajax.Пожалуйста, посоветуйте мне решить это.
Контроллер:
public function changeRole(Request $request){
$id = Input::get('id');
$isAdmin = Input::get('isAdmin');
User::findOrFail($id)->update(['isAdmin'=>$isAdmin]);
}
Ajax:
$(document).ready(function(){
$('select').on('change' , function (event){
id = $(this).data('id');
isAdmin = $('#role').val();
//alert(role);
$.ajax({
type: 'POST',
url: SITE_URL + '/changeRole/',
data: {
'_token': $('input[name=_token]').val(),
'id': id,
'isAdmin': isAdmin
},
cache: false,
success: function(data) {
toastr.success('Admin Role Successfully Changed ! ', 'Congratulations', {timeOut: 5000});
//$('#example1').DataTable().ajax.reload();
},
error: function (jqXHR, exception) {
console.log(jqXHR);
toastr.error('Something Error !', 'Status not Changed!')
},
});
});
});
Просмотр:
<td>
<form method="post">
{{ csrf_field() }}
<div class="form-group">
<select class="form-control" data-id="{{$user->id}}" id="role" name="role">
<option value="0">Select a Role</option>
@foreach ($roles as $role)
<option @if($user->isAdmin==$role->id) selected @endif value="{{ $role->id }}">{{ $role->name }}</option>
@endforeach
</select>
</div>
</form>
</td>
Пожалуйста, просмотрите пользовательский вид таблицы