2011-04-15 40 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