代码之家  ›  专栏  ›  技术社区  ›  BadHorsie

CakePHP 1.3-添加额外属性以选择菜单选项

  •  3
  • BadHorsie  · 技术社区  · 12 年前

    如何将其他属性添加到我的选择菜单选项标记中?像这样:

    <select class="test" name="data[Test][test]">
        <option value="1" data-price="100">My Option</option>
    </select>
    

    如何添加 data-price="100" ?

    我试过这样的方法,但没有成功:

    <?php
        echo $this->Form->select('test', $options, null, array(
            'class' => 'test',
            'options' => array(
                'data-price' => 100
            )
        ));
    ?>
    
    5 回复  |  直到 12 年前
        1
  •  4
  •   mark    12 年前

    看看这个: http://www.dereuromark.de/2012/03/01/some-new-crazy-cakephp-tricks/

    “为某些选择选项设置附加属性”

        2
  •  3
  •   Younus Ali    12 年前
    you can try this
        echo $this->Form->input('test', array(
                            'options' => array(
                                                1=>array(
                                                'data-price' => 100, 
                                                'value' => '1', 
                                                'name' => 'My Option'
                                            )),'class' => 'test')
                                        );
    
        3
  •  2
  •   Amir    11 年前

    你可以这样做:

    $options = array(
        ...
        array('name' => 'United states', 'value' => 'USA', 'title' => 'the title that you want', 'class' => 'something'),
        array('name' => 'USA', 'value' => 'USA', 'title' => 'the other title that you want', 'class' => 'otherthing'),
     );
    
     echo $this->Form->input('test', array('type'=>'select', 'options'=>$options));
    
        4
  •  0
  •   Community miroxlav    7 年前

    您必须手动构建选择HTML

    你也可以参考 How to give select tag an attribute in cake php?

        5
  •  0
  •   Miquéias Francisco    3 年前

    在蛋糕4

    look for documentation

    控制器

    $countries = $this->Countries->find('all')->where([
                'active' => 1
            ]);
    
    $options = $examples->map(function ($value, $key) {
        return [
            'value' => $value->id,
            'text' => $value->name,
            'data-flag' => $value->iso_code
        ];
    });
    

    在视图/模板中

    <?= $this->Form->control('country_residence_id', [
                    'label' => false,
                    'options' => $countries,
                    'class' => 'form-control select2-flag-search',
                    'data-placeholde' => __('Select Country')
                ]) ?>