jQuery:将所选文本以逗号分隔,从选择框中分离出来

时间:2013-11-25 11:42:04

标签: javascript jquery

<select id="testID" multiple="multiple">
   <option value="1">test Value1</option>
   <option value="2">test Value2</option>
   <option value="3">test Value3</option>
   <option value="4">test Value4</option>
   <option value="5">test Value5</option>
  <option value="6">test Value6</option>
</select>

<input type="button" value="Get dropdown selected Value" id ="select-values">

我希望逗号分隔所选文本。

我试过了,

 $("#select-values").click(function () {
     $("select option:selected").text();
});

假设我已经选择了前两个选择选项 但我得到了值test Value1test Value2

我希望它是test Value1,test Value2

7 个答案:

答案 0 :(得分:36)

尝试

fiddle demo

$("#select-values").click(function () {
    var option_all = $("select option:selected").map(function () {
        return $(this).text();
    }).get().join(',');
    console.log(option_all);
});

答案 1 :(得分:4)

这感觉就像最快的方式:

$('#testID').val().toString()

我懒得为这个

写一个for循环

答案 2 :(得分:1)

尝试:

$("#select-values").click(function () {
    var select = "";
    $("select option:selected").each(function(){
        select += ","+$(this).text();
    });
    if(select != ""){
        select = select.substr(1);
    }
    $("#selection").text(select);
});

Fiddle here.

答案 3 :(得分:1)

尝试这样的事情

$(document).ready(function () {
    $("#select-values").click(function () {
        var val = [];
        $("select option:selected").each(function () {
            val.push(this.text);
        });
        alert(val.join(','));
    });
});

答案 4 :(得分:1)

您知道何时想要获得多个选择框的,它会自动执行此操作吗? ^^

只需更改您选择的值:

<select id="testID" multiple="multiple">
   <option value="test Value1">test Value1</option>
   <option value="test Value2">test Value2</option>
   <option value="test Value3">test Value3</option>
   <option value="test Value4">test Value4</option>
   <option value="test Value5">test Value5</option>
  <option value="test Value6">test Value6</option>
</select>

然后你可以用以下方法调用该值:

$('#testID').val();

它会自动用逗号分隔值。

jsFiddle

答案 5 :(得分:1)

尝试:

var selectedItems =($ .map($(&#34; select [id * = select-values]选项:selected&#34;),function(item,i){  return $(item).text()}))。join(&#34;,&#34;);

答案 6 :(得分:0)

保持简单

$('#testID').val().join(', ');