Как я могу проверить, существует ли опция, уже выбранная JQuery

Как проверить, существует ли опция в JQuery для выбора?

Я хочу динамически добавлять опции в select и поэтому мне нужно проверить, существует ли опция для предотвращения дублирования.

Ответ 1

Это значение true, если оно уже существует:

$("#yourSelect option[value='yourValue']").length > 0;

Ответ 2

if ( $("#your_select_id option[value=<enter_value_here>]").length == 0 ){
  alert("option doesn't exist!");
}

Ответ 3

Другой способ использования jQuery:

var exists = false; 
$('#yourSelect  option').each(function(){
  if (this.value == yourValue) {
    exists = true;
  }
});

Ответ 4

var exists = $("#yourSelect option")
               .filter(function (i, o) { return o.value === yourValue; })
               .length > 0;

Это имеет то преимущество, что вы автоматически избегаете значения для вас, что делает случайные кавычки в тексте гораздо более легкими.

Ответ 5

Не работает, вы должны это сделать:

if ( $("#your_select_id option[value='enter_value_here']").length == 0 ){
  alert("option doesn't exist!");
}

Ответ 6

Это помогает мне:

  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");
                         }
  });