Javascript 使用JQuery从“选择多个”选项卡获取数据
我想在html中使用选择多个标签,就像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
<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')
更新:选择器的第一部分似乎也错了。实际上,您没有idfoo
的元素,因此#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');