yii2如何创建多个字段?
How create a yii2 multiple fields?
yii2 有问题
我如何处理多个字段?
我的看法一定是这样的link
http://bootsnipp.com/snippets/featured/multiple-fields
请谁能举个例子
我认为你应该使用 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);
}
这里我设置name'new_name[]'为当接收到post数据时,我们使用foreach($_POST['new_name'] as value)获取所有数据
如果创建 select 元素:
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 表单创建的选项值:
$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; ?>';
你可以修改得更酷,祝你好运,抱歉我的英语不好:)
yii2 有问题 我如何处理多个字段? 我的看法一定是这样的link http://bootsnipp.com/snippets/featured/multiple-fields 请谁能举个例子
我认为你应该使用 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);
}
这里我设置name'new_name[]'为当接收到post数据时,我们使用foreach($_POST['new_name'] as value)获取所有数据
如果创建 select 元素:
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 表单创建的选项值:
$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; ?>';
你可以修改得更酷,祝你好运,抱歉我的英语不好:)