2013-07-08 39 views
0

我努力獲得一種形式的工作方式,我希望它的行爲。 我有一個區域和屬性模型,一個區域可以有很多屬性,等等...cakePHP:與相關模型的形式不automagic更新

我創建了一個窗體來選擇區域,然後在該區域的屬性!

在窗體具有兩個列表,但我很難有第二列表[屬性]與僅在該區域已經從第一列表[區域]中選擇的屬性更新AUTOMAGIC

當選擇一個不同的區域在列表中,它應該更新automagic的屬性列表,所以你只能看到該地區的屬性!對不起,我的解釋不好,但不知道如何解釋這個更好。

這是在我的控制器的代碼:

// Retrieve the region list 
     $this->set('regions', $this->Region->find('list', array(
      'fields' => array('Region.id', 'Region.regionname'), 
      'order' => 'regionname', 
      ))); 
     // Retrieve Property list for the regions. 
     $this->set('properties', $this->Region->Property->find('list', array(
      'conditions' => array('Property.live' => true), 
      'fields' => array('Property.id','Property.description'), 
      'order' => 'id', 
      ))); 

這是我的形式的一部分。

<?php echo $this->Form->create('Upload', array('action' => 'add', 'type' => 'file')); ?> 
<?php echo $this->Form->input('region_id', array('label' => 'Select Region:')); ?> 
<?php echo $this->Form->input('property_id', array('label' => 'Select Property:')); ?> 
<?php echo $this->Form->file('file'); ?> 

我花了很多時間在這裏和在YouTube上環顧四周,卻找不到它:-(

回答

1

有沒有AUTOMAGIC的方式做你的要求。由於所有數據對於下拉菜單已經在加載時顯示,根據第一個選擇更改第二個下拉菜單的唯一方法是通過javascript。

如果您搜索「dropdown on select」或類似的蛋糕,您會發現解決方案用ajax或純js來做,我在這裏給你一個reference這個是用ajax和一個新的動作完成的,但你也可以用ju st js,爲Region和Properties做一個查找,並將它們設置爲js中的一個json變量來進行操作。