【发布时间】:2015-01-24 01:45:56
【问题描述】:
yii2有问题 我如何处理多个字段? 我的观点一定是这个链接 http://bootsnipp.com/snippets/featured/multiple-fields 有人可以举个例子吗
【问题讨论】:
标签: javascript php jquery field yii2
yii2有问题 我如何处理多个字段? 我的观点一定是这个链接 http://bootsnipp.com/snippets/featured/multiple-fields 有人可以举个例子吗
【问题讨论】:
标签: javascript php jquery field yii2
我认为你应该使用 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) 来获取所有数据。
如果创建选择元素:
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 表单创建的 options 值:
$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; ?>';
你可以修改成更酷的,祝你好运,如果我的英语不好,请见谅:)
【讨论】: