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);
答
保持一个数组,并把所有的值到它。然后,您可以使用该数组轻松验证文本框的值。 或者您必须使用DOM迭代获取所有选项标记值。
就是这样!谢谢!一旦我比较了解决它的价值。 – razorsyntax 2014-09-04 17:56:28
如果该值非常复杂/未选中,那么在将它放入选择器字符串之前,必须将其转义。更多信息:http://api.jquery.com/category/selectors/ – 2014-09-05 12:58:01