如何使用 jQuery 获取多个选择框值?
453890 次
9 回答
309
.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>
于 2010-07-14T05:09:20.657 回答
205
var foo = $('#multiple').val();
于 2010-07-14T05:09:34.663 回答
23
你也可以使用js的地图功能:
$("#multipleSelect :selected").map(function(i, el) {
return $(el).val();
}).get();
然后你可以得到option元素的任何属性:
return $(el).text();
return $(el).data("mydata");
return $(el).prop("disabled");
etc...
于 2014-04-22T11:51:51.967 回答
15
就一行——
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();
输出:文本1,文本2,文本3
于 2019-04-30T22:50:14.847 回答
12
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.
于 2014-05-19T07:06:59.557 回答
6
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() );
});
希望它有效
于 2015-11-20T07:48:34.087 回答
1
就用这个
$('#multipleSelect').change(function() {
var selectedValues = $(this).val();
});
于 2017-07-04T07:51:00.103 回答
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);
于 2016-12-20T13:42:17.653 回答
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.
于 2021-05-20T08:01:32.077 回答