Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Problema con combobox dependientes

Estas en el tema de Problema con combobox dependientes en el foro de Javascript en Foros del Web. Hola, estoy intentado hacer dos selects de paises y ciudades, he visto muchos ejemplos por internet pero el problema es que estoy usando codeigniter y ...
  #1 (permalink)  
Antiguo 21/02/2013, 13:04
 
Fecha de Ingreso: mayo-2012
Mensajes: 25
Antigüedad: 11 años, 11 meses
Puntos: 1
Problema con combobox dependientes

Hola, estoy intentado hacer dos selects de paises y ciudades, he visto muchos ejemplos por internet pero el problema es que estoy usando codeigniter y no sé si el problema lo tengo en algo referente a CI o a algo de Jquery, asique no se muy bien si este tema corresponde más a este foro o al de CI.

Pongo el código que tengo.

El formulario:
Código:
<?php echo form_open('usuarios/addform'); ?>
...
<label>Email</label>
<span class="errormes"><?php echo form_error('email'); ?></span>
<div class="existeEmail errormes"></div>
<?php 
       $js='id="email" onblur="comprobar()"';
       echo form_input('email',set_value('email'),$js); 
?> 

<label>Pais</label>
<span class="errormes"><?php echo form_error('pais'); ?></span>
<?php 
      $jspais='id="pais" onChange="cargarCiudades();"';
      echo form_dropdown('pais', $paises, $jspais); 
 ?>
<label>Ciudad</label>
<span class="errormes"><?php echo form_error('ciudad'); ?></span>
<?php 
      $jsciudad='id="ciudad"';
      echo form_dropdown('ciudad', $ciudades, $jsciudad);
?>
...
<?php echo form_close(); ?>
El archivo js:
Código:
function cargarCiudades(){

    $.post('cargar_ciudades','pais='+$('#pais').val(),vuelta_ciudades);
}
function vuelta_ciudades(ciudades){
    
    $('#ciudad').html(ciudades);
}
El controlador:

Código:
function cargar_ciudades(){
        
        $pais = $this->input->post('pais');

        $ciudad = $this->usuarios->getCiudad($pais);
        
        $this->output->enable_profiler(FALSE); // quitar el profiler
        $this->view = FALSE; //linea para desactivar las vistas
        $this->layout = FALSE; //linea para desactivar el layout
        $this->load->view('ajax_view',array('content'=>$ciudad));
}
El modelo:

Código:
public function getCiudad($pais){
        
        $this->db->select('nombre');
        $this->db->from('ciudades');
        $this->db->where('fk_paises', $pais);
        $query = $this->db->get();
        
        if ($query->num_rows() != 1){
            throw new InvalidArgumentException('Error al buscar las ciudades del pais seleccionado'); 
        }
        
        $ciudad = $query->row_array();
        return $ciudad;
}
Bien, pues la comprobación del email si me funciona, pero cuando selecciono un pais, no pasa absolutamente nada, lo miro con el firebug y no sale ninguna peticion ajax ni nada, no sé porque. Lo tengo todo en el mismo js, lo de la comprobación del email y lo de los paises y ciudades.

Alguien puede ayudarme??

Muchas gracias!
  #2 (permalink)  
Antiguo 21/02/2013, 14:35
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Problema con combobox dependientes

debes de verificar si CI te está creando el evento onchange adecuadamente, compruébalo con vista de código fuente o con firebug, si no hay petición ajax es que el evento no se ejecuta

¿estás seguro que $.post de jQuery se usa así?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: ajax, combobox, dependientes, formulario, funcion, html, input, jquery, js, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:10.