Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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 使用JQuery从“选择多个”选项卡获取数据_Javascript_Jquery_Html_Html Select - Fatal编程技术网

Javascript 使用JQuery从“选择多个”选项卡获取数据

Javascript 使用JQuery从“选择多个”选项卡获取数据,javascript,jquery,html,html-select,Javascript,Jquery,Html,Html Select,我想在html中使用选择多个标签,就像 <select name="foo" multiple> <option value="all">option1</option> <option value="all">option2</option> <option value="all">option3</option> </sel

我想在html中使用选择多个标签,就像

<select name="foo" multiple>
    <option value="all">option1</option>
    <option value="all">option2</option>    
    <option value="all">option3</option>                        
</select>
但是运气不好,它不起作用。它显示foo.length==0

正确的方法是什么?谢谢

$('#foo:selected')
应该是

$('#foo option:selected')
所选属性是select中选项的属性,而不是select元素。

其次,您没有
id=“foo”

这将尝试查找所选的
#foo
实例。但这是
select
元素本身,而不是其中的选项。尝试以下选项:

$('#foo option:selected')
更新:选择器的第一部分似乎也错了。实际上,您没有id
foo
的元素,因此
#foo
将找不到任何内容。您拥有的是一个名为
foo
select
元素。这样的话:

$('select[name="foo"] option:selected')
var foo = [];

$("[name='foo']").change(function () {
  $("[name='foo'] option:selected").each(function (i, selected) {
      foo[i] = $(this).text();
  });
})
.trigger('change');
请尝试以下方法:

$('select[name="foo"] option:selected')
var foo = [];

$("[name='foo']").change(function () {
  $("[name='foo'] option:selected").each(function (i, selected) {
      foo[i] = $(this).text();
  });
})
.trigger('change');

我试过你在这里说的,但还是不管用0@AlfredZhong:您是对的,我没有注意到
#foo
本身也是错误的,因为您没有具有该id的元素。我已更新了答案。
var foo = [];

$("[name='foo']").change(function () {
  $("[name='foo'] option:selected").each(function (i, selected) {
      foo[i] = $(this).text();
  });
})
.trigger('change');