Элемент одиночного выбора <select>
не может быть "очищен";некоторые <option>
в нем должны показываться.Что вы можете сделать, чтобы убедиться, что (например) отображается первая опция:
$('select').get(0).selectedIndex = 0; // or $('select').prop('selectedIndex', 0);
edit - взгляд на источник jQuery (1.5.2) говорит мне, что когдаискомое значение не может быть найдено как значение (или, если нет атрибута «значение», текст) опции, тогда для «selectedIndex» устанавливается значение -1.Быстрый jsfiddle должен показать, какой эффект это имеет в IE.
редактировать снова - быстрый тест предполагает, что IE не обращает внимания на то, что «selectedIndex» являетсяустановите -1.
еще Здесь - соответствующий отчет об ошибке jQuery.Лично я не думаю, что это действительно ошибка в случае выпадающего списка.Для множественного выбора я мог видеть аргумент, хотя всегда можно сделать:
$('select option').prop('selected', false);
, чтобы отменить выбор всего в множественном выборе.Однако не работает для элемента с одним выбором, потому что, опять же, это не имеет смысла.Элемент будет всегда приводить к тому, что значение одной из его опций будет отправлено вместе с формой, поэтому его действительно нельзя "очистить", если одна из опций не имеет пустого значения.
еще больше - Если один из ваших параметров имеет атрибут (или свойство) defaultSelected, то вы можете сделать его выбранным с помощью:
$('select option').each(function() {
this.selected = this.defaultSelected;
});