¿Pueden ayudarme a cargar la casilla de verificación marcada en el modal de edición? Estoy usando la casilla de verificación para ingresar múltiples roles en mi sistema. Todo estaba bien, pero tengo un problema en mi modal de edición. La casilla de verificación estaba en blanco y no marcada.
esta es mi función de edición ajax:
function edit_function(task, id) { $('#editModal').modal(); $.ajax({ method: 'POST', url: '<?php echo base_url() . 'user/edit/' ?>' + id, dataType: 'json', success: function(x) { if (resp.length > 0) { for (var i = 0; i < resp.length; i++) { id= x[i]['id']; $("#editModalForm input[name=email]").val(x[i]['email']); $('#editModalForm input[name=role_id]').prop('checked', true); } } } }); }esta es mi casilla de verificación en formato html
<?php foreach ($roles as $row) : ?> <div class="form-check-inline"> <label class="form-check-label"> <input type="checkbox" name="role_id[]" id="role_id[]" value="<?php echo $row->role_id; ?>"><?php echo $row->role_id; ?> </label> </div> <?php endforeach; ?>este es mi resultado json:
[{"id":288,"role_id":["2","3"],"email":"me@gmail.com"}]function edit_function(task, id) { $('#editModal').modal(); $.ajax({ method: 'POST', url: '<?php echo base_url() . 'user/edit/' ?>' + id, dataType: 'json', success: function(x) { if (resp.length > 0) { for (var i = 0; i < resp.length; i++) { id= x[i]['id']; $("#editModalForm input[name=email]").val(x[i]['email']); for (var r = 0; r < x[i]['role_id'].length; r++) { var role=x[i]['role_id'][r]; $('#role_id_'+role).prop('checked', true); } } } } }); } <?php foreach ($roles as $row) : ?> <div class="form-check-inline"> <label class="form-check-label"> <input type="checkbox" name="role_id[]" id="role_id_<?php echo $row->role_id ?" /> value="<?php echo $row->role_id; ?>"><?php echo $row->role_id; ?> </label> </div> <?php endforeach; ?>