Сбросить / Отменить выбор Выбрать опцию - PullRequest
1 голос
/ 14 декабря 2011

Использование:

У меня есть форма с раскрывающимся списком выбора, управляемая другим раскрывающимся списком выбора.При загрузке страницы (если значения были выбраны ранее, PHP загружает их), выпадающий список # 2 скрывает несколько параметров (это работает).При выборе определенной опции с выпадающим меню выбора # 1, выберите выпадающее меню выбора № 2 скрытые опции становятся доступными (.show (), это работает).

Проблема: (Пример для описания проблемы: http://jsfiddle.net/RqhbY/7/)

Когда скрытые опции показаны / доступны и выбран один, а затем раскрывающийся список выбора № 1 изменяет это значениекоторый скрывает параметры в раскрывающемся списке № 2. При отправке отправляется выбранное скрытое значение.

Как отменить выбор / сбросить выбранный параметр, который теперь скрыт?

1 Ответ

4 голосов
/ 14 декабря 2011

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/

...