如何使用jquery获取多个选择框值?

时间:2010-07-14 04:59:14

标签: jquery multi-select

如何使用jquery获取多个选择框值?

9 个答案:

答案 0 :(得分:277)

在多选列表上使用.val()函数将返回所选值的数组:

var selectedValues = $('#multipleSelect').val();

并在你的HTML中:

<select id="multipleSelect" multiple="multiple">
    <option value="1">Text 1</option>
    <option value="2">Text 2</option>
    <option value="3">Text 3</option>
</select>

答案 1 :(得分:158)

jQuery .val()

  var foo = $('#multiple').val(); 

答案 2 :(得分:11)

您还可以使用js map函数:

$("#multipleSelect :selected").map(function(i, el) {
    return $(el).val();
}).get();

然后你可以获得option元素的任何属性:

return $(el).text();
return $(el).data("mydata");
return $(el).prop("disabled");
etc...

答案 3 :(得分:9)

var selected=[];
 $('#multipleSelect :selected').each(function(){
     selected[$(this).val()]=$(this).text();
    });
console.log(selected);

这个问题的又一个问题。选定的数组将索引作为选项值,每个数组项将以文本作为其值。

例如

<select id="multipleSelect" multiple="multiple">
    <option value="abc">Text 1</option>
    <option value="def">Text 2</option>
    <option value="ghi">Text 3</option>
</select>

如果选择了选项1和2。

所选数组将是:

selected['abc']=1; 
selected['def']=2.

答案 4 :(得分:4)

Html代码:

 <select id="multiple" multiple="multiple" name="multiple">
  <option value=""> -- Select -- </option>
  <option value="1">Opt1</option>
  <option value="2">Opt2</option>
  <option value="3">Opt3</option>
  <option value="4">Opt4</option>
  <option value="5">Opt5</option>
 </select>   

JQuery代码:

$('#multiple :selected').each(function(i, sel){ 
    alert( $(sel).val() ); 

});

希望它有效

答案 5 :(得分:0)

在逗号分隔符中获取选定的值

var Accessids = "";
$(".multi_select .btn-group>ul>li input:checked").each(function(i,obj)
{
    Accessids=Accessids+$(obj).val()+",";
});
Accessids = Accessids.substring(0,Accessids.length - 1);
console.log(Accessids);

答案 6 :(得分:0)

请使用此

$('#multipleSelect').change(function() {
    var selectedValues = $(this).val();  
});

答案 7 :(得分:0)

只需一行-

var select_button_text = $('#SelectQButton option:selected')
                .toArray().map(item => item.text);

输出:[“ text1”,“ text2”]

var select_button_text = $('#SelectQButton option:selected')
                .toArray().map(item => item.value);

输出:[“ value1”,“ value2”]

如果使用.join()

var select_button_text = $('#SelectQButton option:selected')
                .toArray().map(item => item.text).join();

输出:text1,text2,text3

答案 8 :(得分:0)

如果您在一个页面上有多个选择框并且它们都具有相同的类,您可以在多个而不是跟踪 ID 的情况下更喜欢:

$('.classname option:selected').map(function(){
    return this.value; // If you want value.
    // Or you could also do.
    return this.text; // If you want text of select boxes.
}).get(); // It will return an Array of selected values/texts.