我可以使用 Laravel 5 克隆一个 select 框并仍然使用表单模型绑定吗?

Can I use Laravel 5 to clone a select box and still use form model binding?

(多方面的问题请见谅!)

基本上问题是;我如何使用 Laravel 5 功能克隆 select 框,保存该数据,并且(作为奖励)在返回表单时使用表单模型绑定显示数据。因此,如果有一份工作经验 "group"(公司和职位)或许多,它们都会正确显示。

我创建了一个表单,其中包含以下字段:

<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 克隆以允许用户添加新的职位和公司集

function cloneMe(thisDiv)
{
$(thisDiv).clone(false).insertBefore(thisDiv+"-placeholder:last")

}

从视觉上看,这似乎可行,因为它确实克隆了盒子。但是我正在使用 Select2 创建一个 "tag" 效果(来自 Laracasts-23 'Syncing Tags'!)并且如果下拉列表中已经有数据 selected(实际上是 "Tag")当我点击克隆框时,数据被传送到新的克隆字段中。

如何以不携带 selected 项目的方式进行克隆?我尝试使用 jquery 例如:

.find("input").val('').end()

但我运气不好(我也尝试 select 而不是在上面输入)

我确信我正在尝试做的事情实际上相当普遍,但只是在努力寻找一种方法来做到这一点。 (我也尝试过 cloneya,但这似乎与 Select2 冲突。)

如果您对我如何改进我的问题有任何建议,请告诉我。

提前致谢!

姆鲁兹

我针对每个人解决了我的问题 select :

$('.positions').select2("destroy");
$('#workexperience').clone(true).insertBefore("#workexperience-placeholder:last")
.end();
$('.positions:last').removeAttr("selected")
.val([])
.end();
$('.positions').select2(
{
placeholder: 'Current or last position',
maximumSelectionLength: 1,
tags: true
}); 

不是很优雅,但对我有用。