JavaScript: Firefox selectedIndex на выпадающий список - PullRequest
0 голосов
/ 17 июня 2011

На моей веб-странице есть простой маленький комбобокс:

<select id="famNum" onchange="familySize()">
       <option value="0">0</option>
       <option value="1">1</option> <!-- etc -->
</select>

И если я использую:

famNum.selectedIndex = 0;

, он отлично работает в Safari, но не в Firefox.Я даже пытался использовать jQuery:

$('#famNum').selectedIndex = 0;

, но Firefox все равно этого не сделает.Как я могу заставить это работать в firefox?Он продолжает говорить, что famNum не определен

Ответы [ 2 ]

1 голос
/ 17 июня 2011

Только некоторые браузеры добавляют все элементы, имеющие идентификатор, к объекту окна.Это нестандартное поведение, и, например, Firefox этого не делает.Для доступа к элементу вы должны использовать метод getElementById:

document.getElementById('famNum').selectedIndex = 0;

Если вы хотите использовать jQuery, вызов не возвращает элемент, он возвращает объект jQuery.Вы можете либо использовать метод jQuery для установки атрибута:

$('#famNum').attr('selectedIndex', 0);

, либо вы можете получить элемент из объекта jQuery:

$('#famNum')[0].selectedIndex = 0;
0 голосов
/ 17 июня 2011

Internet Explorer начал выставлять элементы с идентификаторами или именами как глобальные объекты. Safari, похоже, принял такое поведение. Используйте getElementById(), чтобы он работал в любом браузере.

document.getElementById("famNum").selectedIndex = 0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...