Pareces nuevo por aquí. Si quieres participar, ¡pulsa uno de estos botones!
<?php class EjemploController extends ApplicationController { function index(){ } function obtener_ciudades($pais_id){ $this->set_response("view"); //Usando Asociaciones //$this>ciudades = $this->Pais>find($pais_id)>getCiudad(); //Usando find //$this>ciudades = $this>Ciudad>find("pais_id ='$pais_id'"); //Usando find_by $this->ciudades = $this->Ciudad->find_by_pais_id($pais_id); } } ?>
<h2>Combos Actualizables con Kumbia</h2> <div> <select id='pais_id'> <option>Seleccione una...</option> <? foreach($Pais->find() as $pais): ?> <option value='<?php echo $pais->id ?>'> <?php echo $pais->nombre ?></option> <? endforeach; ?> </select> </div> <div id='div_ciudad'> <select id='ciudad_id'> <option>Seleccione una...</option> </select> </div> <script type="text/javascript"> new Event.observe("pais_id", "change", function(){ new AJAX.viewRequest({ action: "ejemplo/obtener_ciudades/"+$F("pais_id"), container: "div_ciudad" }) }) </script>ejemplo/obtener_ciudades
<select id='ciudad_id'> <option>Seleccione una...</option> <? foreach($ciudades as $ciudad): ?> <option value='<?php echo $ciudad->id ?>'> <?php echo $ciudad->nombre ?></option> <? endforeach; ?>
Comentarios
Aqui hay un ejemplo de como hacerlo con prototype
que en resumen se resuelve con cargar prototype
<code>
<?php View::partial('kumbia/prototype'); ?>
</code>
e indicar apropiadamente la url de la llamada ajax
Para los que no usan prototype sino Jquery
aquí esta un ejemplo completo y bien explicado de como enlazar combos con jquery
que para el codigo que nos muestra es solo modificar el js