В настоящее время я работаю над панелью администратора, где с помощью флажков пользователь получает права. Данные передаются из моего основного представления в модальный сценарий js с методом data.
У меня проблемы с тем, что, когда значение, переданное флажку, равно 1 (задано правами администратора), флажок должен быть установлен, но это не так. Я проверил, передается ли значение прямо в модальное состояние, изменив входные данные на текст, где я вижу правильное значение
Чего я хотел бы достичь: когда значение из БД на моем Основное представление передается моему модалу, флажки, значение которых равно 1, проверяются, а остальные (значение = 0) не проверяются. Кроме того, это не влияет на мою способность редактировать права пользователя.
Я попробовал этот подход:
<!-- Send Data to modal -->
<script type="text/javascript">
$('#edit').on('show.bs.modal', function(event) {
var button = $(event.relatedTarget); // Button that triggered the modal
var id = button.data('id'); // Extract info from data-* attributes
var admin = button.data('admin');
var expert = button.data('expert');
var modal = $(this);
$('#edit_form').attr('action', '{{URL::to('/')}}/AdminPanel/'+id); //No spaces!!!
modal.find('#admin_field').val(admin);
modal.find('#expert_field').val(expert);
});
</script>
<!-- Modal -->
<div class="form-group row">
<div class="col-xs-8 col-sm-7 col-md-6">
<label for="admin_field" class="col-md-4 col-form-label text-md-right">{{ __('Admin?') }}
<input id="admin_field" type="checkbox" class="w3-check" name="Admin">
</label>
</div>
</div>
<script type="text/javascript">
$( document ).ready(function() {
// auto check checkbox if value == 1
$('.w3-check').each(function(e){
if($(this).val() == 1){
$(this).prop("checked", true);
}
});
// Checkbox instead of on:off 1:0
$('input:checkbox').on('change', function(){
this.value = this.checked ? 1 : 0;
}).change();
});
</script>
Любая помощь очень ценится. !