我在表单中有2个下拉列表。当第一个的选定值发生变化时,我需要更新第二个值。我尝试过很多我在这里找到的东西,但没有任何效果。
以下是我视图中表单的字段:Events / add.ctp
<?php
echo $this->Form->input('short_desc');
echo $this->Form->input('long_desc');
echo $this->Form->input('failure');
echo $this->Form->input('server_id');
echo $this->Form->input('application');
echo "</div>";
?>
因此,当更改server_id列表时,需要更新应用程序列表。
这是我在EventController.ctp
中的add()方法public function add() {
if ($this->request->is('post')) {
$this->Event->create();
if ($this->Event->save($this->request->data)) {
$this->Session->setFlash(__('The event has been saved'));
$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The event could not be saved. Please, try again.'));
}
}
$servers = $this->Event->Server->find('list');
$applications = $this->Event->Application->find('list');
$this->set(compact('servers', 'applications'));
}
我打赌你们也需要我的模特:
例如:
的print_r($应用);
Array
(
[1] => Application A
[2] => Application B
[5] => Application C
)
的print_r($服务器);
Array
(
[128] => ASSETPLUS
[1] => CTX1
[2] => CTX2
[3] => CTX3
[15] => CURSUS
[127] => ESX5
[129] => Test
)
如果我在服务器列表中选择CURSUS,我需要在应用程序列表中获取应用程序B和应用程序C. 如果我在服务器列表中选择CTX1或ASSETPLUS,我需要在我的应用程序列表中获取应用程序A.
我想我已经很清楚了,任何帮助都会受到赞赏。
如果还需要其他任何东西,请问问。
提前谢谢。