2015-11-11 96 views
0

我想,如果我的權利這個代碼在輸入字段 添加默認選擇選項例如如何在cakephp選擇選項中添加默認值?

echo $this->Form->input('field', array(
    'options' => array(1, 2, 3, 4, 5), 
    'empty' => '(choose one)' 
)); 

我想改變像

echo $this->Form->input('field', array(
    'options' => array(1, 2, 3, 4, 5), 
    'default' => options[1]; // it's not correct, I just want to add 2 as a default value. 
)); 

這裏我想補充選項2作爲此代碼默認值。

回答

1

Read Book

echo $this->Form->input('field', array(
    'options' => array(1, 2, 3, 4, 5), 
    'default' => '2' 
)); 
+0

如果我輸入樣回聲這個 - $>形式 - >輸入(「book_category_id」); ,如果我想第二個數據將是默認的,那麼它可能在你的代碼? –

+0

您是否從數據庫中獲取數據,並填寫表單中的選項? – Salines

1

你可以試試這個

$options = array(1, 2, 3, 4, 5); 
$attributes = array('value' => 2, 'empty' => false); 
echo $this->Form->select('field', $options,$attributes); 

這是食譜的link

,如果你是獲取從數據庫結果,然後在選擇選項填入則只是把控制器中的$this->request->data['Model']['field'] = 'value';中的值,它將在選擇下拉菜單中爲默認值

+0

這不設置默認值。 'value'將覆蓋'$ this-> request-> data'中設置的任何值,這不是一回事。 – drmonkeyninja

1

問題在於你寫的PHP。你試圖引用的東西,不爲你default存在,不是一個正確的PHP變量: -

echo $this->Form->input('field', array(
    'options' => array(1, 2, 3, 4, 5), 
    'default' => options[1]; // it's not correct, I just want to add 2 as a default value. 
)); 

options[1]是不是一個有效的PHP變量,你就錯過了$符號和$options數組尚未定義。您剛剛將一個數組傳遞給inputoptions屬性。

您需要首先定義$options數組,然後傳遞到$this->Form->input()這樣的: -

$options = array(1, 2, 3, 4, 5); 
echo $this->Form->input('field', array(
    'options' => $options, 
    'default' => $options[1]; // '2' in the defined array 
));