После выбора текст опции выбора меняется

Задача

Это трудно объяснить, поэтому, пожалуйста, потерпите меня. Сегодня я столкнулся с любопытным сценарием, который я решил, но я не уверен, почему мое решение работает.

Я создал группу вариантов и написал сценарий, который запрещает вам выбирать один и тот же параметр более одного раза, удаляя выбранный параметр из других списков выбора.

Однако в IE (, включая IE9), в списке параметров отображался неправильный вариант, но после выбора он отображал правильный вариант.

enter image description here

Re -создайте ошибку

В моем первом скрипте вы можете добраться до этого состояния, выполнив следующие действия:

ПРИМЕЧАНИЕ. :Это только для IE. Отлично работает в Chrome

Скрипт:http://jsfiddle.net/s6F4h/37/

  1. В первом раскрывающемся списке выберите 3
  2. Во втором раскрывающемся списке выберите 1
  3. . В первом раскрывающемся списке выберите 1 (, не должно быть доступной опции )
  4. . Обратите внимание, что выбранное значение равно 2!
  5. Обратите внимание, что изменение выбранного вами значения во втором раскрывающемся списке также дает значения, отличные от представленных.
  6. Наконец, обратите внимание, что DOM отображает правильные значения.enter image description here

Исправьте ошибку (волшебным образом)

Теперь о моем исправлении, которое я нашел методом случайных догадок...

Скрипт:http://jsfiddle.net/s6F4h/36/

Создание моего выбора таким образом вызывает странное поведение:

var $S1 = $('', {'class': 'question'}); 

Последующие действия

  • В чем разница между двумя вышеуказанными объектами jQuery?
  • Как может IE показывать одно в своей DOM, а другое на реальной странице (Я знаю, что CSS контент может это сделать, но CSS не задействован )? Было бы не так уж плохо, если бы это было просто IE6 -8, но это воспроизводимо в IE9!
  • Может быть, это ошибка IE или ошибка jQuery?

Наконец, может быть, я только что сделал что-то невероятно глупое и в своей истерике состряпал какой-нибудь нелепый вывод. Пожалуйста, осторожно , сообщите мне, если я это сделал.

10
задан Brandon Boone 5 July 2012 в 14:51
поделиться