http://jsfiddle.net/RqhbY/8/
Попробуйте изменить:
$('select[name=two[0]] option').attr('selected', false);
с помощью:
$('select[name=two[0]] option').removeAttr('selected');
ОБНОВЛЕНИЕ
ОК,Я протестировал приведенный выше код в IE 8, и отключенный <option>
все еще выбран.Это, похоже, сработало:
$('select[name=two[0]]').children('option').removeAttr('selected').filter(':nth-child(1)').attr('selected', true);
Демонстрация: http://jsfiddle.net/RqhbY/9/
Обратите внимание, что вы можете обновить вызов .filter()
, чтобы выбрать только не отключенные опции, но я оставлюэто для вас.
ОБНОВЛЕНИЕ
Если вы наберете .attr('selectedIndex', -1)
на элементе <select>
, тогда вы не сможете выбрать <option>
s.Раскрывающийся список не будет отображать значение, но будет пустым.
Демонстрация: http://jsfiddle.net/RqhbY/10/