Параметры Jquery, клавиатура фокусируется на скрытых параметрах - PullRequest
0 голосов
/ 14 сентября 2011

У меня есть тег выбора с некоторыми опциями, где некоторые скрыты, а некоторые нет или нет, когда я нажимаю любую клавишу на клавиатуре, фокус переходит и на скрытые опции.

Пример:

  <select id='myselect'>
    <options id='a'>a</options>
    <options id='b' style ='display:none'>b</options>
    <options id='c'>c</options>
    <options id='b'>b</options>
    </select>

Выше у меня есть выбор, который имеет 4 варианта, теперь будут видны только 1-й, 3-й и 4-й, потому что я сохранил второй как скрытый.

теперь, когда я нажимаю 'b' на клавиатуре,он переходит к скрытой опции, т.е. мне приходится нажимать 2 раза «b» на клавиатуре, чтобы перейти к 4-му варианту.

Может кто-нибудь сказать мне, как можно решить эту проблему?

Когда я нажимаюлюбая клавиша с клавиатуры, фокус должен учитывать только не скрытые параметры.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 13 февраля 2012

Даже если все теги имеют уникальные идентификаторы, скрытые параметры выбираются с помощью клавиатуры. Чтобы избежать этого, элемент также должен быть отключен.

<select id='myselect'>
  <option id='a'>a</option>
  <option id='b' disabled style ='display:none'>b</option>
  <option id='c'>c</option>
  <option id='b2'>b</option>
</select>

В jquery 1.6+ этого можно добиться с помощью .prop('disabled',false), для более низких версий .attr('disabled','disabled')

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

Edit: Сокрытие опций тегов работает только в Firefox. Для лучшей совместимости следует удалить параметры, а не скрывать их.

0 голосов
/ 14 сентября 2011

С HTML у вас есть классы и идентификаторы, и я уверен, что вы можете иметь столько классов на странице, сколько захотите, но вы не можете иметь более одного идентификатора на одной странице, и в этом ваша проблемавранье.HTML-страница никогда не должна иметь более одного идентификатора.

Причина этого в том, что идентификаторы используются для идентификации отдельных элементов на странице (даже если она не видна, это не значит, что ее там нет.

Вам нужно будет переименовать идентификаторы опций, чтобы они все отличались.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...