Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从多选菜单中检索所有选定选项_Javascript_Jquery_Select_Options - Fatal编程技术网

Javascript 从多选菜单中检索所有选定选项

Javascript 从多选菜单中检索所有选定选项,javascript,jquery,select,options,Javascript,Jquery,Select,Options,我使用的jQuery版本是v1.9.1您需要使用在select中遍历所有选定的元素。each()分别访问它们: $('#abc').val() $('#abc').text() $('#abc :selected').val() $('#abc :selected').text() $('#abc option:selected').val() $('#abc option:selected').text() 或获取数组中的值 $('#abc :selected').each(function

我使用的jQuery版本是v1.9.1

您需要使用
在select中遍历所有选定的元素。each()
分别访问它们:

$('#abc').val()
$('#abc').text()
$('#abc :selected').val()
$('#abc :selected').text()
$('#abc option:selected').val()
$('#abc option:selected').text()
或获取数组中的值

$('#abc :selected').each(function(){ 
    console.log($(this).text()); 
});

您需要使用
遍历select中的所有选定元素。each()
以分别访问它们:

$('#abc').val()
$('#abc').text()
$('#abc :selected').val()
$('#abc :selected').text()
$('#abc option:selected').val()
$('#abc option:selected').text()
或获取数组中的值

$('#abc :selected').each(function(){ 
    console.log($(this).text()); 
});
您可以执行以下操作:

var selectedvals = $('#abc').val();
你可以做:

var selectedvals = $('#abc').val();
您可以使用
.map()
将值存储在数组中并使用它:

var values = $("#abc option:selected").map(function() {
    return this.value;
}).get();
或者这样:

var vals = $('#abc :selected').map(function(){ 
    return this.value;
}).get();

console.log(vals);
您可以使用
.map()
将值存储在数组中并使用它:

var values = $("#abc option:selected").map(function() {
    return this.value;
}).get();
或者这样:

var vals = $('#abc :selected').map(function(){ 
    return this.value;
}).get();

console.log(vals);

对于当
this
引用
select
元素时的多选,您不能使用
this.value
,因为它将只返回一个值。正如@Milindantwar在上文中指出的,
$(此)
将返回一个数组。如果您对逗号分隔的字符串而不是数组感兴趣,可以使用
join()
array方法将各种值连接到字符串中:

var vals = [];
$('#abc :selected').each(function(){ 
    vals.push(this.value);
});
console.log(vals);

否则,您必须通过数组表示法
[0]、[1]、。。。。[n-1]

对于多选,当
引用
选择
元素时,不能使用
此.value
,因为它将只返回一个值。正如@Milindantwar在上文中指出的,
$(此)
将返回一个数组。如果您对逗号分隔的字符串而不是数组感兴趣,可以使用
join()
array方法将各种值连接到字符串中:

var vals = [];
$('#abc :selected').each(function(){ 
    vals.push(this.value);
});
console.log(vals);

否则,您必须通过数组表示法
[0]、[1]、。。。。[n-1]

你是说
#abc:selected
不等同于
#abc:selected
?@RSM请查看答案的其余部分。不幸的是,在我的控制台上,它仍然只返回一个值。请检查小提琴
selectedvals
是一个值数组。您这边还有其他问题。您的意思是说
#abc:selected
#abc:selected
?RSM请查看答案的其余部分。不幸的是,在我的控制台上,它仍然只返回一个值。请检查小提琴
selectedvals
是一个值数组。您这边还有其他问题。到目前为止,所有答案都只返回一个值select在td中,我不知道这是否会产生差异。到目前为止,所有答案都只返回一个值select在td中,我不知道这是否会产生差异