yii2有问题 我如何处理多个字段? 我的观点必须像这个链接 http://bootsnipp.com/snippets/featured/multiple-fields 请有人提供一个例子
答案 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; ?>';
你可以修改它更酷,祝你好运,抱歉,如果我的英语不好:)