entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

¿como mando una variable a una ventana modal ayudaa?

Estoy programando en codeigniter, y tengo una vista donde pongo una tabla:

 <?php $contador = 0; if(!empty($usuarios)){    foreach($usuarios as $usuario){
        echo '<tr>';
        echo '<td>'
?>
    <a title="Ver" href="/Infrasec/index.php/datosgeneralporesescuela/verdatos/<?php echo $usuario->Id; ?>"><
<?php       
        echo '</td>';
        echo '<td>'.$usuario->Id.'</td>';
        echo '<td>'.$usuario->Nombre.'</td>';
        echo '<td>'.$usuario->Email.'</td>';

        echo '</tr>';
    } 
 }
 ?>

y no se como mandar lo del href a una ventana MODAL !! es decir que por medio del Id me muestre en la ventana modal los datos del usuario seleccionado no se si me explique...

1voto

white comentado

que libreria o codigo usas para la ventana modal? booststrap, jquery UI, etc

1voto

cind10 comentado

utilizo jquery UI .... me gustaria que me funcionara con cualquiera de las dos ya sea boostrap o jquery

1voto

white comentado

adjuntame el código de tu controlador datosgeneralporesescuela/verdatos/{id}

1voto

cind10 comentado

en mi controlador tengo esta funcion

public function verdatos($Id){
$this->load->model('Catalogos/model_datosgeneralesporescuela');
$usuario = $this->model_datosgeneralesporescuela->obtener_por_id($Id);
$data['usuarios'] = $usuario;
$this->load->view('Catalogos/view_verdatosescuelatabla',$data);
}

1 Respuesta

1voto

white Puntos75880

Si entendi bien quieres mostrar en una ventana modal datos desde un controlador, para ello se me ocurren 2 opciones que uses ajax o que guardes los datos en json para obtenerlo por javascript.

Usando Json en el cliente:

establece la variable para el objeto json.

<script type="text/javascript">
    var usuarios = ' . json_encode($usuarios) . ';
</script>

agrega un evento al hipervinculo:

<a title="Ver" href="javascript:void(0)" class="ver-usuario" data-id="<?php echo $usuario->Id; ?>"><?php echo $usuario->Nombre; ?></a>

en Jquery:

<script type="text/javascript">

    $(document).ready(function(){
        $('a.ver-usuario').click(function(){
            var id = $(this).attr('data-id'),
                data = usuarios[id],
                msg_body = $('<div />');

            $(msg_body).append($('<div />').html(data['Email']));
            $(msg_body).append($('<div />').html(data['Nombre']));

            $( "#dialog" )
                .html(msg_body)
                .dialog();
        });
    })

</script>

<div id="dialog" title="informacion del usuario"></div>

en boostrap:

<script type="text/javascript">
    $(document).ready(function(){
        $('a.ver-usuario').click(function(){
            var id = $(this).attr('data-id'),
                data = usuarios[id],
                msg_body = $('<div />');

            $(msg_body).append($('<div />').html(data['Email']));
            $(msg_body).append($('<div />').html(data['Nombre']));

            $('#myModal')
                .find('.modal-body')
                .html(msg_body);

            $('#myModal').modal('show');
        });
    })
</script>

<div class="modal fade">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title">Modal title</h4>
      </div>
      <div class="modal-body"></div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

NOTA: No conozco la estructura de $usuarios pero debe tener como claves el id de los usuarios, si tiene otra estructura puedes decirme:

$usuarios = array(
   1 => array()
   2 => array
   ...
);

Ajax:

por ajax es lo mismo solo que a cambio de obtener los datos desde el cliente lo obtenemos desde el servidor, como dije no conozco la estrctura de tu variable $usuarios ni tu controlador.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta