簡體   English   中英

Cake PHP根據下拉選擇隱藏/顯示表單元素

[英]Cake PHP hiding/showing form elements based on dropdown selection

如何基於下拉選擇顯示和隱藏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。

這與CakePHP無關,並且Cake不會像通常那樣阻止您執行此操作。 在這里,您對Cake所做的全部工作就是使用HTML幫助器通過PHP為您的表單輸出HTML。

頁面加載后,您的表單就在那里生成了所有HTML,因此您所處的狀態與使用HTML構建任何其他非Cookie網頁的情況完全相同。 您可以將jQuery與CSS正常結合使用,以在用戶與其交互時隱藏/顯示選擇框。

將jQuery加載到您的Layout文件中,並在視圖底部為該頁面添加您的個人腳本,或者根據需要在您的Layout文件中添加。 實際上,CakePHP只是使您的頁面生成變得更容易的框架,但是它是所有服務器端代碼,因此,一旦用戶請求頁面並由客戶端加載頁面,CakePHP便會完成其工作,並且在此過程中將不再起作用關於客戶端交互性,您如何處理頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM