要获得逗号分隔的Select2下拉列表的选定文本。

时间:2017-04-26 18:15:53

标签: jquery jquery-select2

我有一个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,但它未定义。

1 个答案:

答案 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);
  });
}

希望有所帮助。