【发布时间】:2019-02-21 16:33:50
【问题描述】:
嘿,伙计们,我可以从 stakoverflow 社区获得一些帮助,问题是我有一个索引视图,其中所有方法都被触发,创建方法工作正常,更新方法也工作正常,问题是什么时候编辑表单显示表示用户角色未选中的复选框,我必须重新选中复选框才能使方法更新起作用,否则它将不起作用,这是我的代码。
编辑模态:
{{ Form::open(['autocomplete' => 'off', 'id' => 'edit_user_form']) }}
<div id="edit_user_modal" class="modal fade" role="dialog">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title text-center">Actualizar Usuario</h4>
</div>
<div class="modal-body">
<div id="response"></div>
{{ Form::textGroup('name', 'Nombre', ['id' => 'edit_name']) }}
{{ Form::emailGroup('email', 'Correo Electrónico', ['id' => 'edit_email']) }}
{{ Form::checkboxGroup('roles', 'Roles', $roles, 'display_name', ['id' => 'edit_roles']) }}
</div>
<div class="modal-footer">
{{ Form::submit('Guardar', ['class' => 'btn btn-success']) }}
<button type="button" class="btn btn-default" data-dismiss="modal">Regresar</button>
</div>
</div>
</div>
</div>
{{ Form::close() }}
编辑方法:
public function edit(Request $request)
{
$id = $request->input('id');
$user = User::with('roles')->find($id);
return response()->json($user);
}
编辑按钮:
protected function getEditButtonAttribute()
{
if (Auth::user()->hasPermission('update-users')) {
if ($this->id != 1) {
return '<li><a href="javascript:void(0);" class="btn-edit" id="' . $this->id . '">Editar Usuario</a></li>';
}
return '';
}
return '';
}
编辑路线:
Route::get('user/{user}', 'Auth\UserController@edit')->name('user.edit');
最后编辑脚本:
edit_name = $('#edit_name');
edit_email = $('#edit_email');
edit_roles = $('#edit_roles');
edit_user_modal = $('#edit_user_modal');
$(document).on('click', '.btn-edit', function () {
id = $(this).attr("id");
$.ajax({
url: "{{ url("user") }}" + "/" + id,
method: 'GET',
data: {id: id},
dataType: 'json',
success: function (data) {
edit_name.val(data.name);
edit_email.val(data.email);
edit_roles.val(data.roles);
edit_user_modal.modal('show');
}
})
});
感谢您的关注。
【问题讨论】: