-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であり、notですselect element.

第二に、要素がありませんid="foo"

$('[name=foo] option:selected') // for this case
于 2013-07-09T22:16:02.483 に答える
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 に答える
0
$('#foo:selected')

これは、選択されているインスタンスを見つけようとします#foo。しかし、それはselect要素そのものであり、その中のオプションではありません。オプションを試してください:

$('#foo option:selected')

更新:セレクターの最初の部分も間違っているようです。実際には id の要素がないfooため#foo、何も見つかりません。あなたが持っているのは、という名前selectの要素です。代わりに次のようなものです。 foo

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