繁体   English   中英

表单加载时的jQuery Select2标签

[英]JQuery Select2 Tags On Form Load

我正在使用jquery和multi select2标记工具编写WebForm。 用户从下拉菜单中选择多个代理,然后保存,并将数据作为单个字符串以以下管道分隔格式存储到后端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
}

任何帮助,将不胜感激。

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

<select id="ddlAgency" style="width:300px" type="hidden" class="form-control" name="select2tag"/>

$('select').select2();

var agency = "AGENCY1|AGENCY2|AGENCY3";
var agencySplit = agency.split("|");
for (var i = 0; i < agencySplit.length; i++) {
    $('#ddlAgency').append("<option>" + agencySplit[i] + "</option>");  
}

http://jsfiddle.net/c1ozynyu/

如果进行多项选择:

$('select').select2({multiple: true});

http://jsfiddle.net/c1ozynyu/1/

更新时间:(基于注释以预先选择列表中的项目)

<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); 

http://jsfiddle.net/c1ozynyu/2/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM