我有一个select2下拉列表,其中包含一个区域列表。我需要一个逗号分隔的选定值列表。
@Html.ListBox("regionSelect", regions, new { id = "regionSelect", @class = "form-control", multiple = "multiple" })
和Jquery代码
if ($('#regionSelect :selected').text() != "----------- Select Region ---------")
var selected = $('#regionSelect :selected').text();
我得到选择的结果为Region1Region2Region3。我可以将它们拆分为whenevr,我看到了一个' R'然后在两者之间插入逗号。但是我有很多这样的列表框,我不想为每个列表框做这些。
有没有通用的方法呢?
我尝试了this answer,但它未定义。
答案 0 :(得分:3)
根据Select2 jquery - How to get text in selectbox
中的答案更新:使用最新版本的Select2,返回一个数组对象,因此必须按如下方式访问文本(同时更新jsfiddle链接)
$(test).select2('data')[0].text //instead of $(test).select2('data').text
multiple="multiple"
的更新示例:
https://jsfiddle.net/Twisty/0st5hdzr/
您的代码将类似于:
var selected = [];
if ($("#regionSelect").select2('data').length){
$.each($("#regionSelect").select2('data'), function(key, item){
selected.push(item.text);
});
}
希望有所帮助。