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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/3243476/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-26 15:06:33  来源:igfitidea点击:

How to get multiple select box values using jQuery?

jquerymulti-select

提问by DEVOPS

How to get multiple select box values using jQuery?

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

回答by Darin Dimitrov

Using the .val()function on a multi-select list will return an array of the selected values:

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

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

and in your html:

并在您的 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>

回答by Pranay Rana

jQuery .val()

jQuery .val()

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

回答by kpull1

You can also use js map function:

您还可以使用 js 地图功能:

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

And then you can get any property of the optionelement:

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

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

回答by Joz Naveen Joz

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

Yet another approch to this problem. The selected array will have the indexes as the option values and the each array item will have the text as its value.

解决这个问题的另一种方法。所选数组将索引作为选项值,每个数组项将文本作为其值。

for example

例如

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

if say option 1 and 2 are selected.

如果说选项 1 和 2 被选中。

the selected array will be :

选定的数组将是:

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

回答by hardika

Just by one line-

就在一行——

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

Output: ["text1", "text2"]

输出:["text1", "text2"]

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

Output: ["value1", "value2"]

输出:["value1", "value2"]

If you use .join()

如果你使用 .join()

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

Output: text1,text2,text3

输出:文本 1、文本 2、文本 3

回答by Prabhagaran

Html Code:

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 Code:

查询代码:

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

});

Hope it works

希望它有效

回答by Santhosh Rajkumar

Get selected values in comma separator

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

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

回答by Kartik Chauhan

Just use this

就用这个

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