CakePHP自定义下拉菜单

时间:2015-01-31 05:31:15

标签: cakephp dropdownbox

我有一个下拉列表,项目非常多(超过20项)。

我正在使用CakePHP,这就是我对下拉列表进行编码的方式:

<?php
     echo '<div class="form-group">';
     echo $this->Form->input('type', array(
         'class' => 'form-control',
         'id' => 'listType',
         'options' => array(
                'Item 1' => 'Item 1',
                'Item 2' => 'Item 2',
                'Item 3' => 'Item 3'),
         'empty' => '--Choose Item Type--',
         'label' => false
     ));
     echo '</div>';
?>

现在,我的下拉列表中有一些项目有子项目。有没有办法做到这一点?

例如,就像这种下拉菜单一样:

Fruits
   Apple
   Banana
   Orange
   Grape
Vegetables
   Carrot
   Potato
Chips
Sausage

我希望除子项目之外的所有项目都可以点击。我还希望所有子项都可以点击。

简而言之,无法点击“水果”和“蔬菜”等项目,而其他项目可以点击。有没有办法放置分隔线?

谢谢!如果有人可以使用CakePHP格式提供示例,那会更好。

2 个答案:

答案 0 :(得分:0)

好的,经过几次实验,我终于想出了怎么做。

<?php
     echo '<div class="form-group">';
     echo $this->Form->input('type', array(
         'class' => 'form-control',
         'id' => 'listType',
         'options' => array(
                'Item 1' => 'Item 1',
                'Item 2' => array(
                     'Subitem 1' => 'Subitem 2',
                     'Subitem 2' => 'Subitem 2'
                ),
                'Item 3' => 'Item 3'),
         'empty' => '--Choose Item Type--',
         'label' => false
     ));
     echo '</div>';
?>

答案 1 :(得分:0)

you should try this.
<?php
$data=array(
    'Fruits'=>array(
    'Apple',
    'Banana','Orange','Grape'),
    'Vegetables'=>array('Carrot','Potato'),
    'Chips',
    'Sausage'
);
         echo '<div class="form-group">';
         echo $this->Form->input('type', array(
             'class' => 'form-control',
             'id' => 'listType',
             'options' =>$data,
             'empty' => '--Choose Item Type--',
             'label' => false
         ));