Javascript JQuery在表单加载时选择2个标记

Javascript JQuery在表单加载时选择2个标记,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,我正在使用jquery和multi-select2标记工具编写一个Web表单。用户从下拉菜单中选择多个代理,然后保存,数据以以下管道分隔格式作为单个字符串存储到后端SQL数据库:[AGENCY1 | AGENCY2 | AGENCY3] <input id="ddlAgency" type="hidden" class="form-control" value="" name="select2tag"/> 加载表单时,我可以解析标签,但如何让它们显示为select2多表单控件中的选

我正在使用jquery和multi-select2标记工具编写一个Web表单。用户从下拉菜单中选择多个代理,然后保存,数据以以下管道分隔格式作为单个字符串存储到后端SQL数据库:[AGENCY1 | AGENCY2 | AGENCY3]

<input id="ddlAgency" type="hidden" class="form-control" value="" name="select2tag"/>
加载表单时,我可以解析标签,但如何让它们显示为select2多表单控件中的选定项,即:AGENECY1、AGENECY2、AGENECY3显示为选定标签,而其余选项在下拉列表中是可选的

var agencySplit = row.INC_AGENCY.split("|");
for (var i = 0; i < agencySplit.length; i++) {
    $('#ddlAgency').val(agencySplit[i]);  //This Doesn't Work Like I Want It To
}

任何帮助都将不胜感激。

您需要将“拆分为”选项中的项目附加到select元素

已更新:根据注释预先选择列表中的项目

<select id="ddlAgency" style="width:300px" type="hidden" class="form-control" name="select2tag">
    <option val="AGENCY1">AGENCY1</option>
    <option val="AGENCY2">AGENCY2</option>
    <option val="AGENCY3">AGENCY3</option>
    <option val="AGENCY4">AGENCY4</option>
    <option val="AGENCY5">AGENCY5</option>
</select>

var array = new Array();
var agency = "AGENCY1|AGENCY2|AGENCY3";
var agencySplit = agency.split("|");
for (var i = 0; i < agencySplit.length; i++) {
    array.push(agencySplit[i]);   
}
$('select').select2({multiple: true}).select2('val', array); 

谢谢你的快速回复。这很接近,但我希望在文本框中选择所有三个项目。下拉列表中可能还有其他机构,例如:AGENCY4,AGENCY5,…,但是从数据库中选择的三个机构已经被选中。一切似乎都在JFIDLE中运行。但是在我的应用程序中,我得到了以下错误:Select2在附加到元素时不允许使用选项“multiple”。有什么想法吗?你的代码正式运行,所以我会将其标记为正确,只是看看你是否有任何想法。尽管如此,我得到了错误,但如果我忽略了消息,它的行为与预期的一样。谢谢你的帮助!
$('select').select2({multiple: true});
<select id="ddlAgency" style="width:300px" type="hidden" class="form-control" name="select2tag">
    <option val="AGENCY1">AGENCY1</option>
    <option val="AGENCY2">AGENCY2</option>
    <option val="AGENCY3">AGENCY3</option>
    <option val="AGENCY4">AGENCY4</option>
    <option val="AGENCY5">AGENCY5</option>
</select>

var array = new Array();
var agency = "AGENCY1|AGENCY2|AGENCY3";
var agencySplit = agency.split("|");
for (var i = 0; i < agencySplit.length; i++) {
    array.push(agencySplit[i]);   
}
$('select').select2({multiple: true}).select2('val', array);