2013-10-16 57 views
0

我如何可以显示和CakePHP中隐藏的表单元素基于一个下拉选择:蛋糕PHP隐藏/显示基于下拉选择表单元素

CakePHP的之外,我通常会使用jquery或AJAX,但我似乎无法找到任何告诉你如何在CakePHP中使用这个场景来做到这一点。

这里是我的观点:

<?php echo $this->Form->create('Spec'); ?> 
<fieldset> 
    <legend><?php echo __('Add Spec'); ?></legend> 
<?php 
    echo $this->Form->input('ref'); 
    echo $this->Form->input('service_id',array('empty'=>'Please Select')); 

    echo $this->Form->input('a1',array(
                 'label' => 'Background:', 
                 'div' => false 
                )); 
    echo $this->Form->input('a2',array(
                 'label' => 'Business objectives:', 
                 'div' => false 
                )); 

当我选择“服务”,依赖于我的选择,我需要显示或隐藏A1和A2。

+1

你是否坚持使用cake-php这个。 – Outlooker

+0

好吧,它只是这个项目是使用CakePHP框架构建的,我没有时间重新开始。 –

+0

所以你不能通过jquery执行此操作。 – Outlooker

回答

0

这与CakePHP没有任何关系,并且Cake不会阻止您像通常那样执行此操作。您在Cake上做的所有事情都是使用HTML帮助程序来使用PHP输出您的表单的HTML。

页面加载完成后,您的表单将与所有生成的HTML一起存在,因此您与使用HTML构建任何其他非Cake网页的情况完全相同。您可以像常规一样使用jQuery与CSS结合,以在用户与它们交互时隐藏/显示选择框。

在布局文件中加载jQuery,并在视图底部添加此页面的单个脚本,或者在您的布局文件中添加您喜欢的脚本。实际上,CakePHP只是使页面生成更容易的框架,但它都是服务器端代码,所以一旦用户请求了页面并由客户端加载,CakePHP就已经完成了它的工作,并且没有进一步的部分你对你的页面做了什么与客户端交互有关的问题。

相关问题