2015-11-04 111 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解决方案来添加到输出“