0
<select size="6" name="operator[]" id="operator[]" size="5" multiple="">
    <option value="1" >One</option>
    <option value="2" >Two</option>
    ....
    ....
    <option value="10" >Ten</option>
</select>

我现在的问题是如何使用 jquery 访问下拉框的数组值?

$("#operator").val(); // Not working
$("#operator[]").val(); // Not working as well
4

5 回答 5

1

这是无效idname属性,请使用以下代码:

$("#operator").find('option:selected').each(function(){
    alert(this.value);
});

演示:jsfiddle.net/VYjEM/

于 2012-09-20T08:30:17.807 回答
1
$("select[name='operator[]']").val();

示例:http: //jsbin.com/eqoyes/1/edit

于 2012-09-20T08:30:51.333 回答
0

第一件事。我认为不允许对元素 id 使用数组。话虽如此,请将元素 id 设置为“operator”而不是“operator[]”。

完成后,您可以通过多种方式获得选项:

  1. 使用元素 dom id:

    $('#operator option');
    
  2. 使用元素 dom 类型:

    $('select option');
    
  3. 两者都使用(推荐):

    $('select#operator option');
    

更多关于 jQuery 支持的选择器的信息可以在官方网站上找到。

于 2012-09-20T08:29:53.127 回答
0

语法$("select").val()将为您提供所选选项值。如果您想掌握所有选项,请使用.$("select > option")

[]另外:在 id 属性中使用字符在HTML 4 中是非法的,它不会给你带来任何特别的东西;你可能应该解决这个问题。

于 2012-09-20T08:28:20.593 回答
0

你将不得不逃避[]使用\\

$("#operator\\[\\]").val();

或者你可以使用$("select[id='operator[]']").val()

演示

于 2012-09-20T08:28:54.093 回答