Как я могу проверить, существует ли опция выбора в JQuery?
Я хочу динамически добавлять опции в select, и поэтому мне нужно проверить, существует ли опция для предотвращения дублирования.
Значение true, если оно уже существует:
$("#yourSelect option[value='yourValue']").length > 0;
Другой способ использования jQuery:
var exists = false; $('#yourSelect option').each(function(){ if (this.value == yourValue) { exists = true; } });
if ( $("#your_select_id option[value=<enter_value_here>]").length == 0 ){ alert("option doesn't exist!"); }
var exists = $("#yourSelect option") .filter(function (i, o) { return o.value === yourValue; }) .length > 0;
Преимуществом этого является автоматическое экранирование значения, что значительно упрощает работу со случайными кавычками в тексте.
Не работает, вы должны сделать это:
if ( $("#your_select_id option[value='enter_value_here']").length == 0 ){ alert("option doesn't exist!"); }
Это поможет мне:
var key = 'Hallo'; if ( $("#chosen_b option[value='"+key+"']").length == 0 ){ alert("option not exist!"); $('#chosen_b').append("<option value='"+key+"'>"+key+"</option>"); $('#chosen_b').val(key); $('#chosen_b').trigger("chosen:updated"); } });