2011-04-15 67 views
0
echo '<div class="myclass">'; 
    echo $form->input('Car Model:',array('id'=>'carmodels', 'name'=>'carmodels', 'options' => $year, 'label'=>false, 'div'=>false)); 
    echo '</div>' 

<div class="myclass"> 
<select name="carmodels" id="carmodels"> 
<option value="1995">Jaq</option> 
<option value="1996">Reliant</option> 
<option value="1997">Toyota</option> 
</select></div> 

但是现在我需要添加一个属性到名为body的选项。所以它显示cakephp不能做属性添加

<div class="myclass"> 
<select name="carmodels" id="carmodels"> 
<option value="1995" body="4door">Jaq</option> 
<option value="1996" body="2door">Reliant</option> 
<option value="1997" body="4 door">Toyota</option> 
</select></div> 

回答

2

没有办法做你想做的事情,使用$ form-> input()或$ form-> select()。传递给任一函数的options数组只会接受一个简单的name => value数组。

不知道为什么你这样做,因为它甚至不是有效的HTML,但如果你真的想要上面的输出,只需使用for循环生成选项标记。

+0

请注意,data-body =“...”将是有效的HTML5,并会自动作为元数据由最近版本的jQuery进行分析。不是任何人提到jQuery :) – contrebis 2011-04-16 02:43:20

+0

猜测我听起来像一个没有使用html5的人,但哈哈。注意! – Tyler 2011-04-16 04:28:34

+0

@Amir如果你打算这么说,请至少提供一个理由说明为什么。 – Tyler 2013-03-19 19:23:46

-1

$ options = array(1995 =>'Jaq',1996 =>'Reliant',1996 =>'Toyota'); echo $ form-> select('title',$ options,null,array('class'=>'ddlSortModule'),false);

+0

-1这只会导致相同的输出 – JohnP 2011-04-21 05:45:28

2

有可能是这样的:

$options = array(
    ... 
    array('name' => 'United states', 'value' => 'USA', 'title' => 'the title that you want'), 
    array('name' => 'USA', 'value' => 'USA', 'title' => 'the other title that you want'), 
); 

echo $this->Form->input('test', array('type'=>'select', 'options'=>$options)); 

看看关于CakePHP的输入此链接一些很酷的东西,并选择: http://www.dereuromark.de/2012/03/01/some-new-crazy-cakephp-tricks/

0
$options = array(
       1 => 'One', 
       2 => array('name' => 'Two', 'value' => 2, 'class' => 'extra'), 
       3 => 'Three', 
       6 => array('name' => 'Six', 'value' => 6, "data-icon"=>"fa-arrow-circle-o-right") 
); 

echo $this->Form->input('my_option_id',array('type' =>'select', 'options'=>$options)); 

HTML =>

<select name="data[my_option_id]" id="my_option_id"> 
    <option value="1">One</option> 
    <option value="2" class="extra">Two</option> 
    <option value="3">Three</option> 
    <option value="6" data-icon="fa-arrow-circle-o-right" >Six</option> 
</select> 

CakePHP data-icon in select dropdown