jquery选择选项不起作用(按名称)

时间:2012-04-16 21:49:26

标签: jquery html

我有以下HTML来定义我的选择器:

<select name="zoom_cat[]" style="margin-left:15px;">
  <option value="-1" selected="selected">All</option>
  <option value="0">News</option>
  <option value="1">Publications</option>
  <option value="2">Services</option>
  <option value="3">Industries</option>
</select>

我正在尝试将所选选项设置为All(值-1)。由于某种原因,这个jquery代码没有任何效果(保持选择相同的选项):

$('input[name="zoom_cat[]"] option[value="-1"]').attr('selected', 'selected');

5 个答案:

答案 0 :(得分:4)

$('select[name="zoom_cat[]"] option[value="-1"]').attr('selected', 'selected');

而不是input

答案 1 :(得分:0)

使用select代替input

$('select[name="zoom_cat[]"] option[value="-1"]').attr('selected', 'selected');

工作样本:http://jsfiddle.net/Est9D/4/

你可以用更简单的方式做到这一点

  $('select[name="zoom_cat[]"]').val("-1") 

示例:http://jsfiddle.net/Est9D/7/

答案 2 :(得分:0)

正如Matt上面所说,你应该在你的选择器中使用select,而不是input,它们是不同的元素。设置所选属性也不适用于&lt; = IE7,所以理想情况下你应该$('select[name="zoom_cat[]"]').val('-1');

答案 3 :(得分:0)

您需要在选择器中转义特殊字符。

请参阅: http://api.jquery.com/category/selectors/

所以试试这个:

$('input [name =“zoom_cat \\ [\\]”]选项[value =“ - 1”]')。attr('selected','selected');

答案 4 :(得分:0)

你可以这样做:(不是像某人建议的那样,但不是道具)

$(&#39;选择[name =&#34; zoom_cat []&#34;]选项[value =&#34; -1&#34;]&#39;)。prop(&#39 ;选择&#39;,&#39;选择&#39;);