2

我的代码在清除选择时遇到问题:

$('select').children(':selected').removeProp('selected');

我像这样绑定一个更改处理程序:

$('#categories').on('change', function(event) {
   var category = $(this).children("option:selected").text();
   ...
});

这有效,除非我再次选择从中删除所选属性的选项category = ''

我肯定做错了什么。有人可以解释一下吗?

4

3 回答 3

4

完全删除该selected属性可能不是最好的做法。在您的情况下,看起来 DOM 层之后没有重新创建它,因此:selected选择器无法找到该元素。

尝试将属性设置为false

$("select").children(":selected").prop("selected", false);
于 2012-10-15T17:50:20.747 回答
3

如果要清除<select>下拉列表的选定值,请尝试:

$('select').val(-1);

示例 jsfiddle

于 2012-10-15T17:52:23.880 回答
0

另一种方式:这将始终选择第一个选项。

$('select').find('option:eq(0)').prop('selected', true)

这是一个比较@Frederic Hamidi、mdmullinax 和我的jsfiddle。

http://jsfiddle.net/RzEBg/

于 2012-10-15T18:08:38.443 回答