I have a three tables called links,state and county.

what im trying to do is when you select the state it will display the
counites for that state.

The list of states poulates but nothing is apperaing in the counties
select drop down
I am getting no erroes and i am clueless on what to do next. I am
using prototype for my javascript


In my links tabel i have these fields
county_id       state_id        id

my links model it looks like this

class Link extends AppModel {
        var $name = 'Link';
        var $displayField = 'name';
        //The Associations below have been created with all possible keys,
those that are not needed can be removed

        var $belongsTo = array('County','State');

}


states table
fields
id      abbr    name

state model

class State extends AppModel {
        var $name = 'State';
        var $displayField = 'name';

        var $hasMany = array('County','Link');


}

fileds in counties table

name    id
county model


class County extends AppModel {
        var $name = 'County';
        var $displayField = 'name';
        //The Associations below have been created with all possible keys,
those that are not needed can be removed


        var $BelongsTo = array('State');
        var $hasMany = array('Link');
        var $order = "County.name ASC";
}


link contorller

<?php
class LinksController extends AppController {

        var $name = 'Links';
        var $helpers = array('Ajax', 'Javascript');
        var $components = array('RequestHandler');

        function index() {
                $this->Link->recursive = 0;
                $this->set('links', $this->paginate());
        }




        function add() {
                if (!empty($this->data)) {
                        $this->Link->create();
                        if ($this->Link->save($this->data)) {
                                $this->Session->setFlash(__('The Link has been 
saved', true));
                                $this->redirect(array('action'=>'index'));
                        } else {
                                $this->Session->setFlash(__('The Link could not 
be saved. Please,
try again.', true));
                        }
                }
                $states = $this->Link->State->find('list');
                $counties = $this->Link->County->find('list');
                $this->set(compact('states', 'counties'));
        }

        function update_region_select() {
          if(!empty($this->data['Link']['state_id'])) {
            $options = $this->requestAction('/counties/getlist/'.$this-
>data['Link']['state_id']);
            $this->set('options',$options);
          }
        }


}
?>


county controller

class CountiesController extends AppController {

        var $name = 'Counties';
        var $helpers = array('Html', 'Form','Ajax','Javascript');
var $components = array('RequestHandler');




        function getlist($state_id=null) {
            if (!$state_id) {
                        return $this ->County->find('list');
            } else {
                return $this->County-
>find('list',array('conditions'=>array('state_id'=>$state_id)));
            }
        }



link view


<div class="links form">
<?php echo $this->Form->create('link');?>
        <fieldset>
                <legend><?php __('Add Link');?></legend>
        <?php
                echo $this->Form-
>select('state_id',array($states),null,array('id'=>'states'),false);
                ?><br /><br /><?
                echo $this->Form-
>select('county_id',array(),null,array('id'=>'counties'),false);

        ?>
        </fieldset>
<?php echo $ajax-
>observeField('states',array('url'=>'update_county_select','update'=>'counties'));?
>

<?php echo $this->Form->end('Submit');?>
</div>


here's my 'update_county_select



<?php
if (!empty($options)) {
  foreach ($options as $k => $v) {
    echo "<option value='$k'>$v</option>";
  }
}
?>

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


To unsubscribe from this group, send email to
[email protected] For more options, visit this group at 
http://groups.google.com/group/cake-php

Reply via email to