克隆表单选项框,带选项.CakePHP

时间:2015-11-04 06:48:51

标签: php 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

2 个答案:

答案 0 :(得分:0)

<?php
    echo $this->Form->input( 'product_name', array(
        'type' => 'select',
        'options' => array(
            'key1' => 'val1',
            'key2' => 'val2',
        ),
        'empty' => true,
    ));
?>

答案 1 :(得分:0)

只需向变量数组添加值,就可以向选择选项添加其他条件值,如下所示:

$myOptions = array(
    '1' => 'One',
    '2' => 'Two',
    '3' => 'Three'
);

// If user make some action
if($someAjaxAction == true) {
   $myOptions[4] = 'Four';
}

echo $this->Form->input('product_name', array('options' => $myOptions));