【问题标题】:Cake PHP hiding/showing form elements based on dropdown selectionCake PHP基于下拉选择隐藏/显示表单元素
【发布时间】:2013-10-16 09:07:38
【问题描述】:

如何在 CakePHP 中根据下拉选择显示和隐藏表单元素:

在 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。

【问题讨论】:

  • 你坚持用 cake-php 做这个吗???
  • 只是这个项目是使用 CakePHP 框架构建的,我没有时间完全重新开始。
  • 所以你不能通过 jquery 来执行这个..??
  • 好吧,我想我可以将 jquery 放入视图中,但我不知道 Cake 是否已经构建了可以在这种情况下工作的东西,我应该使用它。
  • CakePHP 有一个 JS 助手,但你最好只编写自己的 jquery/javascript 代码。

标签: php jquery ajax forms cakephp


【解决方案1】:

这与 CakePHP 无关,Cake 不会像往常一样阻止您这样做。您在这里使用 Cake 所做的只是使用 HTML 帮助程序使用 PHP 为您的表单输出 HTML。

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

在您的布局文件中加载 jQuery,并在视图底部添加此页面的单独脚本,或者如果您愿意,也可以在您的布局文件中添加。真的,CakePHP 只是让生成页面更容易的框架,但它都是服务器端代码,所以一旦用户请求页面并由客户端加载,CakePHP 就完成了它的工作,并且不再有效地参与在客户端交互方面,您如何处理您的页面。

【讨论】:

    猜你喜欢
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多