我有以下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');
答案 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")
答案 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;);