jQuery:你如何检查一个选定的下拉列表项是否已经在文本列表中?

问题描述:

我有一个选择/选项框左侧的下拉框。jQuery:你如何检查一个选定的下拉列表项是否已经在文本列表中?

我想让jquery检查项目是否已经按值存在。每个选项的值不会以任何顺序排列。

文本框:

<select id="selectbox"> 
    <option value="20:32">Something1</option> 
    <option value="103:16">Something2</option> 
</select> 

下拉将有也有着相同的值项的列表。

有没有办法做这样的东西:

$("#boxbutton").click(function() { 
     if (('#dropdownbox :selected').val() doesn't exist inside #selectbox list) 
     { 
      ...add dropdownbox item; 
     } else { do nothing }; 
    }); 

我想,以确保功能检查整个选择框值列表和未选择/高亮显示在选择框的条目。该文本框不会总是有选定的条目,无论如何都需要进行检查。

当用户转到下拉框将其他条目添加到选择框时,它应该重复搜索。

使用.length关键字没有任何运气。有任何想法吗?

试试这个:

var value = $('#dropdownbox').val(); // :selected is unnecessary 
var hasValue = ($('#selectbox option[value="'+value+'"]').size() > 0); 
+1

就是这样!谢谢!一旦我比较了解决它的价值。 – razorsyntax 2014-09-04 17:56:28

+1

如果该值非常复杂/未选中,那么在将它放入选择器字符串之前,必须将其转义。更多信息:http://api.jquery.com/category/selectors/ – 2014-09-05 12:58:01

保持一个数组,并把所有的值到它。然后,您可以使用该数组轻松验证文本框的值。 或者您必须使用DOM迭代获取所有选项标记值。