Определите, содержит ли html-значение значение в любом из его дочерних параметров
Учитывая выбор
<select id="Myselect">
<option value="-1">Please Select<option>
<option value="1">Selection 1<option>
<option value="2">Selection 2<option>
</select>
Какой лучший способ определить, есть ли опция значения X в выборе с помощью JQuery?
Ответы
Ответ 1
Вы можете сделать это с помощью селектора и .length
, например:
var exists = $("#mySelect option[value='-1']").length !== 0;
Или как функция:
function optionExists(val) {
return $("#mySelect option[value='" + val + "']").length !== 0;
}
Если он не числится и у вас может быть '
там, например (привинчивание селектора), вы можете использовать .filter()
, например:
function optionExists(val) {
return $("#mySelect option").filter(function() {
return this.value === val;
}).length !== 0;
}
Ответ 2
: has() селектор должен работать, примерно так:
var exists = $("#Myselect:has(option[value='X'])").length > 0;
Это далеко не единственный путь, но простой подход.
Вы также можете сделать somethi.g, например для функции .Exists(), так как .length > 0
иногда неясно означает, что он существует.