【发布时间】:2015-05-07 14:33:15
【问题描述】:
(请原谅多方面的问题!)
基本上问题是;如何使用 Laravel 5 功能克隆选择框,保存该数据,并且(作为奖励)返回表单时使用表单模型绑定显示数据。因此,如果有一个工作经验“组”(即公司和职位)或多个,它们都会正确显示。
我创建了一个包含以下字段的表单:
<div class="workexperience">
<!--Work Experience / position -->
<!-- Form Input -->
<div class="form-group">
{!!Form::label('positions_list', 'Work Experience:')!!}
{!!Form::select('positions_list', $positions, null, ['id'=> 'positions_list', 'class'=>'form-control','multiple'])!!}
</div>
<!--company-->
<div class="form-group" >
{!!Form::label('companies_list', 'Company:')!!}
{!!Form::select('companies_list', $companies, null, ['id'=>'companies_list','class'=>'form-control','multiple'])!!}
</div>
</div>
<div id="workexperience-placeholder"></div>
<a onclick="cloneMe('#workexperience')" class="btn btn-default btn-block"><span class="icon-entypo icon-plus"></span><b>Add Another</b></a>
并且我正在使用 jquery clone 来允许用户添加新的职位和公司集
function cloneMe(thisDiv)
{
$(thisDiv).clone(false).insertBefore(thisDiv+"-placeholder:last")
}
从视觉上看,这似乎工作,因为它确实克隆了盒子。但是,我正在使用 Select2 来创建“标签”效果(来自 Laracasts-23 '同步标签'!),并且当我单击以克隆数据框时,如果下拉列表中已经选择了数据(实际上是“标签”)带到新的克隆领域。
如何以不携带所选项目的方式进行克隆?我曾尝试使用 jquery,例如:
.find("input").val('').end()
但我没有运气(我也尝试过选择而不是上面的输入)
我确信我正在尝试做的事情实际上是相当普遍的,但只是在努力寻找一种方法来做到这一点。 (我也尝试过 cloneya,但这似乎与 Select2 冲突。)
如果您对如何改进我的问题有任何建议,请告诉我。
提前致谢!
姆鲁兹
【问题讨论】:
-
Select2 是什么版本?
-
嗨@kevin-brown - Select2 的版本是“Select2 4.0.0-rc.2”
-
好的,慢慢来……如果我只克隆一个选择框,我可以使用: .removeAttr("selected") .val([]) 但是如果我尝试,我仍然没有运气克隆整个 div。我不知道如何针对单个新克隆的选择
标签: php laravel-5 jquery-select2 model-binding jquery-cloneya