Firefox игнорирует параметр selected = "selected" - PullRequest
100 голосов
/ 28 января 2011

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

<option selected="selected" value="Test">Test</option>

Фактически он выберет ранее выбранный вами вариант (до обновления).Это становится проблемой для меня, так как в выпадающем списке происходит событие, которое меняет другие вещи.Есть ли способ заставить Firefox остановить это поведение (кроме запуска другого события при загрузке страницы)?

Ответы [ 20 ]

257 голосов
/ 11 апреля 2012

Добавить autocomplete="off" HTML-атрибут к каждому выбранному тегу.(источник: https://stackoverflow.com/a/8258154/260080)

Это исправляет поведение ODD в FireFox.

60 голосов
/ 29 сентября 2012

В Firefox я заметил, что атрибут selected не будет работать, если вы не поместите select внутри формы, где форма имеет атрибут name.

8 голосов
/ 09 ноября 2011

Только что возникла та же проблема, поверьте мне, более 10 часов боролись с этим глупым поведением Firefox, у меня 7 выпадающих меню, каждое из которых вызовет событие и заполнит 24 скрытых ввода, так что вы можете себе представить, чтовыбрана опция с 24 неправильными значениями ввода !!!Решение, которое я наконец нашел, состоит в том, чтобы сбросить форму с помощью Javascript, добавив следующую строку кода:

window.onload = function() { document.forms['MarkerForm'].reset(); };

PS: входы имеют значения, извлеченные из базы данных, поэтому сброс формы не приводит к пустым значениям, но вспособ сказать Firefox, чтобы вернуться в ад выбранной = выбранной опции!

6 голосов
/ 19 апреля 2014

Это просто Firefox, запоминающий ваш предыдущий выбор при обновлении. Вместо этого попробуйте обновить.

Также, та же проблема здесь: https://stackoverflow.com/a/1505693/1069232

Также см. Здесь: https://bugzilla.mozilla.org/show_bug.cgi?id=274795

3 голосов
/ 17 декабря 2013

Я использую FF 25.0.1

игнорирует selected="" и selected="selected".

Но если я просто попробую selected, опция будет выбрана.

Странное (неконформное) поведение. Я знаю, что selected является верным HTML5 и является самой короткой формой, но я обычно пишу код, который также проверяет правильность XML, чтобы я мог использовать любой инструмент проверки XML для очень строгой проверки результатов (и обмен данными легко ...)

Согласно W3C, эти варианты должны быть действительны для логических атрибутов:

HTML5:  boolAttr="" | boolAttr="boolAttr" | boolAttr
XHTML5: boolAttr="" | boolAttr="boolAttr"

Я предпочитаю первый, так как он почти такой же короткий, как и последний (не соответствующий XML) вариант, но должен быть проверен как XHTML5, так и HTML5. Надеюсь, Mozilla это исправит!

3 голосов
/ 12 марта 2015

используйте .prop () вместо .attr ()

This does not work in firefox.
  $( 'option[value="myVal"]' ).attr( 'selected', 'selected' );
use this one
  $( 'option[value="myVal"]' ).prop( 'selected', 'selected' );

In other way
  $( this ).prop( 'selected', 'selected' );
3 голосов
/ 28 января 2011

AFAIK, это поведение жестко запрограммировано в Firefox.

Вы можете попробовать установить для каждого элемента формы значение defaultValue при загрузке страницы.

2 голосов
/ 26 апреля 2016

С именем лучше = >>

form id="UMForm" name="UMForm" class="form"

Выбор будет принимать выбранный атрибут

2 голосов
/ 29 января 2011

Вы можете позвонить .reset() в форме перед обновлением страницы.

1 голос
/ 07 ноября 2014

заключите выбор в атрибуте формы, и он будет работать.

<!-- will not work in firefox -->
<option selected="selected" value="Test">Test</option>

и

<!-- this will work in firefox -->
<form>
 <option selected="selected" value="Test">Test</option>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...