-1

我想在 html 中使用选择多个选项卡,例如

<select name="foo" multiple>
    <option value="all">option1</option>
    <option value="all">option2</option>    
    <option value="all">option3</option>                        
</select>

如何从此多选选项卡中获取 javascript 中的数据

我试过了

var  foo  =  [];
$('#foo:selected').each(
function(i,selected) {
    foo[i] = $(selected).text();
}
);

但没有运气,它不起作用。它显示 foo.length==0

这样做的正确方法是什么?谢谢!

4

3 回答 3

0
$('#foo:selected')

应该

$('#foo option:selected')

选定的属性是 aproperty of the options inside select而不是select element.

其次,你没有元素id="foo"

$('[name=foo] option:selected') // for this case
于 2013-07-09T22:16:02.483 回答
0
$('#foo:selected')

这试图找到#foo被选中的实例。但这就是select元素本身,而不是其中的选项。尝试以下选项:

$('#foo option:selected')

更新:看起来选择器的第一部分也是错误的。您实际上没有 id 元素,foo因此#foo找不到任何东西。你所拥有的是一个名为select的元素。所以像这样的东西: foo

$('select[name="foo"] option:selected')
于 2013-07-09T22:16:32.610 回答
0

试试这个:

var foo = [];

$("[name='foo']").change(function () {
  $("[name='foo'] option:selected").each(function (i, selected) {
      foo[i] = $(this).text();
  });
})
.trigger('change');
于 2013-07-09T22:36:11.733 回答