Tienes des habilitado en la función index la linea $this->countries->recursive 
= 0; ???

> Date: Thu, 31 Mar 2011 23:33:30 -0700
> Subject: [CakePHP-es] selects anidados Jquery
> From: pdrsas...@gmail.com
> To: cakephp-es@googlegroups.com
> 
> Me estoy volviendo loco con los selects anidados, tengo 3 DB
> countries, provinces, cities, todas  con los campos id y nombre y el
> siguiente código
> 
> // app/views/cities/add.ctp
> <div class="cities form">
>     <?php $this->Html->script('views/countries/list_provinces.js',
> array('inline' => FALSE)); ?>
> 
>     <?php echo $this->Form->create('City'); ?>
>     <fieldset>
>         <legend><?php __('Add City'); ?></legend>
>         <?php //echo $this->element('form_city'); ?>
> 
>         <?php
>         echo $this->Form->input('nombre');
>         ?>
> 
>         <?php
>         echo $this->Form->input('country_id',
>                 array('empty' => 'Seleccione Pais',
>                     'id' => 'country'));
>         ?>
>         <div id="provinces" style="display: none;">
> 
>             <?php
>             echo $this->Form->input('province_id',
>                     array('type' => 'select',
>                         'id' => 'province'));
>             ?>
>         </div>
> 
>     </fieldset>
>     <?php echo $this->Form->end(__('Submit', true)); ?>
> 
> 
> // app/views/countries/list_provinces.js
> $(document).ready(function(){
>   $('#country').live('change', function() {
>     if($(this).val().length != 0) {
>       $.getJSON('/countries/get_provinces_ajax',
>                   {countryId: $(this).val()},
>                   function(provinces) {
>                     if(provinces !== null) {
>                       populateprovincesList(provinces);
>                     }
>         });
>       }
>     });
> });
> 
> function populateProvinceList(Provinces) {
>   var options = '';
> 
>   $.each(Provinces, function(index, province) {
>     options += '<option value="' + index + '">' + province + '</
> option>';
>   });
>   $('#province').html(options);
>   $('#provinces').show();
>   }
> 
> // app/controlles/countris_controller.php
> <?php
> 
> class CountriesController extends AppController {
> 
>     var $name = 'Countries';
> 
> 
>     public function list_provinces() {
>         $this->set('names', $this->Country->find('list'));
>     }
> 
>     public function get_provinces_ajax() {
>         Configure::write('debug', 0);
>         if ($this->RequestHandler->isAjax()) {
>             $this->set('provinces', $this->Country->Province-
> >find('list',
>                             array('conditions' =>
>                                 array('Province.country_id' => $this-
> >params['url']['countryId']),
>                                 'recursive' => -1)));
>         }
>     }
> 
>     function index() {------------
> ...............................
> .............................
> // app/views/countries/get_provinces_ajax.ctp
> <?php
> 
>   if(isset($provinces)) {
>     echo $this->Js->object($provinces);
>   }
> ?>
> 
> No me sale el segundo select provinces.
> He seguido el siguiente ejemplo,
> http://nuts-and-bolts-of-cakephp.com/2010/03/10/use-cakephp-jquery-to-build-dynamic-selects/#comment-11431
> Gracia a todos
> 
> -- 
> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de 
> Grupos de Google.
> Para publicar una entrada en este grupo, envía un correo electrónico a 
> cakephp-es@googlegroups.com.
> Para anular tu suscripción a este grupo, envía un correo electrónico a 
> cakephp-es+unsubscr...@googlegroups.com
> Para tener acceso a más opciones, visita el grupo en 
> http://groups.google.com/group/cakephp-es?hl=es.
> 
                                          

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a 
cakephp-es@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a 
cakephp-es+unsubscr...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a