当前位置:  开发笔记 > 前端 > 正文

如何通过JQuery检查select中是否已存在选项

如何解决《如何通过JQuery检查select中是否已存在选项》经验,为你挑选了4个好方法。

如何通过JQuery检查select中是否已存在选项?

我想动态地将选项添加到select中,因此我需要检查该选项是否已存在以防止重复.



1> Tamas Czineg..:

如果已存在,则计算结果为true:

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


升级到Jquery 1.6 +,将yourValue括在引号中
在jquery 1.7.1中为我工作,没有将yourValue括在引号中

2> 小智..:

使用jQuery的另一种方法:

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


不确定它是否值得.这明确地显示了这个过程,这对初学者来说很有用.当然不是最好的答案,但它是有效的.
-1你基本上是自己做循环,而不是让jQuery像所有其他答案那样做.虽然这可行,但它正在重新发明轮子.
另外还有一个,你也不需要担心你的角色中的角色

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


你错过了一个结束括号"选项[value = ]"

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

这具有为您自动转义值的优点,这使得文本中的随机引号更容易处理.

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有