$('#mySelectBox option').each(function() {
if ($(this).isChecked())
alert('this option is selected');
else
alert('this is not');
});
Видимо, isChecked
не работает. Так что мой вопрос в том, как правильно это сделать? Спасибо.
this.selected
), вы должны обходить его с помощью jQuery ($(this).prop("selected")
), но оба они будут работать для вас.Ответы:
ОБНОВИТЬ
Более прямой метод jQuery к выбранной опции:
Ответ на вопрос
.is(':selected')
- это то, что вы ищете:Не JQuery (возможно, лучшая практика) способ сделать это будет:
Хотя, если вы просто ищете выбранное значение, попробуйте:
Если вы ищете текст выбранного значения, сделайте:
Проверьте: http://api.jquery.com/selected-selector/
В следующий раз ищите дублирующие ТАК вопросы:
Получить текущую выбранную опцию или Задать выбранную опцию или Как получить выбранную опцию в $ (this) в jQuery? или опция [selected = true] не работает
источник
this.selected
можно использовать вместо того, чтобы,$(this).is(":selected")
полагаю, для этого не нужен jsperf, верно? Я ничего не имею против использования jQuery !, но использую его, когда вам это нужно, а не тогда, когда он дает только накладные расходы и больше кода.this.selected
полностью действителен, но он попросил правильный способ jQuery сделать это.Вы можете получить выбранный вариант следующим образом:
LIVE DEMO
Но если вы хотите перебрать все варианты, сделать это с
this.selected
вместо того ,this.isChecked
чего не существует:LIVE DEMO
Обновить:
У вас есть много ответов, предлагающих вам использовать это:
$(this).is(':selected')
что ж, это можно сделать намного быстрее и проще,this.selected
так почему вы должны использовать его, а не собственный метод элемента DOM ?!Читайте Знай свои свойства и функции DOM в
jQuery
информации тегаисточник
this.selected
. Я согласен с вашими комментариями о злоупотреблении / злоупотреблении jQuery. Часть знания jQuery - это знать, когда его не использовать. Тем не менее, имейте в виду, что':selected'
селектор является пользовательским селектором Sizzle, поэтому его использование отключает использованиеquerySelectorAll
в поддерживаемых браузерах. Это, конечно, не конец света, так как он предоставляет хороший, короткий код, но я лично стараюсь избегать только Sizzle.Если вы не знакомы или не знакомы с
is()
, вы можете просто проверить значениеprop("selected")
.Как видно здесь :
Редактировать :
Как отметил @gdoron в комментариях, более быстрый и подходящий способ доступа к выбранному свойству опции - через селектор DOM. Вот обновление скрипки, отображающее это действие.
кажется, работает так же хорошо! Спасибо, Гдорон.
источник
$(this).prop("selected")
вместоthis.selected
?! что это тебе дает ??! ps Я не даунотер ...is
лучше всего использовать, но мне нравится доступ к моим свойствам через prop и attr. В большинстве случаев это может быть просто вопросом вкуса. Да, есть любопытная вспышка понижающего голосования!jQuery
информации тега . нет причин использовать более медленный код + больше кода, чтобы сделать простую вещь..is()
должен использоваться для сложного селектора, такого как$(...).is('.foo > [name="aaa"] input') or for properties that are not native DOM elements properties like
$ (...). is (": visiable").$(this).is(':selected')
был принят. Stackoverflow должен использоваться для изучения лучших практик, а не распространенных ошибок ...)Вы можете использовать этот способ с помощью jquery:
источник
использование
чтобы проверить, является ли его конкретный вариант
myoption
:источник
myoption
???Считайте это списком выбора:
Затем вы проверяете выбранную опцию следующим образом:
источник
В моем случае я не знаю, почему выбранное всегда верно. Так что я смог придумать только один способ:
источник
Если вы хотите только проверить, выбран ли параметр, вам не нужно перебирать все параметры. Просто сделать
Примечание: если у вас есть опция со значением = 0, которую вы хотите выбрать, вам нужно изменить условие if на
$('#mySelectBox').val() != null
источник
Если вам нужно проверить выбранное состояние опции для определенного значения :
источник
Если вы хотите проверить выбранный вариант через JavaScript
Простейший метод - добавить атрибут onchange в этот тег и определить функцию в js-файле. Посмотрите пример, если ваш html-файл имеет опции, подобные этой
А теперь добавьте функцию в файл js
Если вы хотите проверить выбранную опцию в php файле
Просто дайте атрибут name в вашем теге и получите к нему доступ к php-файлу глобальные переменные / массив ($ _GET или $ _POST), посмотрите пример, если ваш html-файл похож на этот
И в вашем php-файле validation.php вы можете получить доступ, как это
источник