如何创建yii2多个字段?

时间:2015-01-24 01:45:56

标签: javascript php jquery field yii2

yii2有问题 我如何处理多个字段? 我的观点必须像这个链接 http://bootsnipp.com/snippets/featured/multiple-fields 请有人提供一个例子

1 个答案:

答案 0 :(得分:0)

我认为你应该使用javascript创建字段和php表单(不使用yii)。

示例:

Html:

<div class="input">
    <div id="container"></div>
    <span class='add-input' href="#" name="name" onclick='addFields()'>Add</span>
</div>

JS功能:

function addFields(){
    var container_parent = document.getElementById('container');

    var div = document.createElement("div");
    div.name = "div_element";
    container_parent.appendChild(div);

    var new_field = document.createElement("input");
    new_field.name = 'new_name[]';
    div.appendChild(new_field);
}

这里我将名称'new_name []'设置为在收到帖子数据时,我们使用foreach($ _POST ['new_name']作为值)来获取所有数据。

如果创建选择元素:

function addFields(){
    var container_parent = document.getElementById('container');

    var div = document.createElement("div");
    div.name = "div_element";
    container_parent.appendChild(div);

    var new_field = document.createElement("select");
    new_field.name = 'new_name[]';
    div.appendChild(new_field);
    new_field.innerHTML = '<?php echo $option_items; ?>';
}

这里我添加了由yii form创建的选项值:

$option_items =  $form->dropDownList($model, 'name', $allItems, array('prompt'=>'')); //get dropdownlist by yii
//remove data, just hold option value
$pos = strpos($option_items, "<option");
$rpos = strrpos($option_items, "</option>");
$option_items = substr($option_items, 0, $rpos+9);
$option_items = substr($option_items, $pos, strlen($option_items) - $pos);
$option_items = str_replace("\n", "", $option_items);

或者您可以在以下位置添加选项值:

new_field.innerHTML = '<?php echo $option_items; ?>';

你可以修改它更酷,祝你好运,抱歉,如果我的英语不好:)