我怎样才能检查一个选项是否已经存在在JQueryselect

如何检查JQueryselect中是否存在选项?

我想dynamic地将选项添加到select,所以我需要检查选项是否已经存在,以防止重复。

如果它已经存在,则评估为真:

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

另一种使用jQuery的方法:

 var exists = false; $('#yourSelect option').each(function(){ if (this.value == yourValue) { exists = true; } }); 
 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"); } });