2015-11-04 115 views
1

通常,我總是使用CakePHP表單助手列出帶選項的選擇框。克隆表單選擇框與選項.CakePHP

我想知道,如果我可以手動創建它(我的意思是沒有CakePHP表單助手)?

例子: 使用CakePHP形式幫助創建選擇框

<?php echo $this->Form->input('product_name',array('options'=>$myoptions));?> 

但我想要做類似下面

<select name="data[Product][product_name]" id="product"> 
<options value="1">One</options> 
<options value="2">Two</options> 
<options value="3">Three</options> 
</select> 

任何想法? 感謝 CakePHP的2.5.7

- 編輯 -

我想克隆多選框,將遵循CakePHP的形式結構。

好的問題從這裏開始。 默認情況下,我會使用CakePHP form helper來繪製選擇框及其選項。

我寫了這樣的代碼:

<?php echo $this->Form->input('Redemption.0.type_id',array('class'=>'form-control','id'=>'selectProduct','label'=>false,'empty'=>'Choose Type','options'=>$types));?> 

它將HTML結構返回象下面這樣:

<select name="data[Redemption][0][type_id]" class="form-control" id="selectProduct"> 
<option value="">Choose Type</option> 
<option value="1">Toner</option> 
<option value="2">Ink Catridge</option> 
</select> 

我想克隆上述新的選擇框,但不同的現有的選擇框名稱值如下:

<select name="data[Redemption][1][type_id]" class="form-control" id="selectProduct"> 
    <option value="">Choose Type</option> 
    <option value="1">Toner</option> 
    <option value="2">Ink Catridge</option> 
    </select> 

請注意,整數值在name="data[Redemption][1][type_id]"增加了。那是我想要的。

但現在,我不知道如上所述做數據更改的克隆。 我已經嘗試了幾個jquery方法,如.clone().append(),但它不起作用,因爲選擇框內的選項數據變得多餘。

可以請教我如何在CakePHP中複製/克隆選擇框?

謝謝。 CakePHP的2.5.7

+3

你爲什麼要這麼做?當然,這是可能的,但除非你發現了'FormHelper'的特殊限制,否則沒有必要手動做這件事。 – drmonkeyninja

+0

,因爲我想動態地添加多個選擇字段,假設我希望產品字段可以在用戶單擊「添加更多」按鈕時增加,而選擇框中的選項數據相同。 –

+1

除非我誤解了你的評論,這聽起來像是你想要做的是客戶端而不是服務器端;在這種情況下,您仍然可以像平常一樣使用FormHelper,但需要JavaScript解決方案來添加到輸出「