2

我有以下定义我的选择器的 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>

我正在尝试将所选选项设置为全部(值 -1)。由于某种原因,此 jquery 代码无效(仍选择相同的选项):

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

5 回答 5

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

代替input

于 2012-04-16T21:52:43.743 回答
0

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

于 2012-04-16T21:58:20.373 回答
0

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

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

所以试试这个:

$('input[name="zoom_cat\\\\[\\\\]"] option[value="-1"]').attr('selected', 'selected');
于 2012-04-16T21:58:47.327 回答
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/

于 2012-04-16T21:56:45.430 回答
0

你可以这样做:(不是某人建议的attr,而是prop)

$('select[name="zoom_cat[]"] option[value="-1"]').prop('selected', 'selected');
于 2017-05-19T16:58:15.067 回答