我该如何使用JQuery检查一个值是否属于下拉列表?检查值是否与JQuery的选择列表
97
A
回答
158
var thevalue = 'foo';
var exists = 0 != $('#select-box option[value='+thevalue+']').length;
如果该选项的值通过JavaScript设置,这是行不通的。在这种情况下,我们可以做到以下几点:
var exists = false;
$('#select-box option').each(function(){
if (this.value == 'bar') {
exists = true;
return false;
}
});
14
万一你(或其他人)可能有意这样做没有jQuery的:
var exists = false;
for(var i = 0, opts = document.getElementById('select-box').options; i < opts.length; ++i)
if(opts[i].value === 'bar')
{
exists = true;
break;
}
8
这里是另外一个类似的选项。在我的情况下,我在构建选择列表时检查另一个框中的值。我一直运行到时候我会比较未定义的值,所以我把我的支票是这样的:
if ($("#select-box option[value='" + thevalue + "']").val() === undefined) { //do stuff }
我不知道,如果这种做法是比较昂贵。
4
为什么不使用过滤器?
var thevalue = 'foo';
var exists = $('#select-box option').filter(function(){ return $(this).val() == thevalue; }).length;
比较松散的工作,因为存在> 0是真实的,存在== 0是假的,所以你可以只使用
if(exists){
// it is in the dropdown
}
或者结合起来:
if($('#select-box option').filter(function(){ return $(this).val() == thevalue; }).length){
// found
}
或者每个选择下拉菜单中有选择框类,这会给你一个包含该值的select(s)的jquery对象:
var matched = $('.select-boxes option').filter(function(){ return $(this).val() == thevalue; }).parent();
+0
这是我最直观的方式。 – Simon
1
if(!$('#select-box').find("option:contains('" + thevalue + "')").length){
//do stuff
}
相关问题
- 1. JS/Jquery:如何检查下拉列表是否选择了值?
- 2. 检查值选择选项列表
- 3. 检查是否使用jQuery选择ID
- 4. 如何检查值是否存在与jQuery列表
- 5. 检查是否选择了ComboBox值
- 6. 检查选择下拉列表中的选项是否可用
- 7. 检查选择器是否
- 8. 检查是否选择了单选按钮列表
- 9. 检查是否选择下拉值使用jQuery
- 10. jquery检查是否没有在选择框中选择
- 11. 检查是否选择了下拉列表中的项目
- 12. JQuery检索文本而不是选择列表的值
- 13. 检查是否与jQuery
- 14. JS检查是否有一个值在选择多种选择
- 15. T-SQL检查列表是否有值,选择并插入表中
- 16. 使用JavaScript或jQuery,如何检查选择框是否与原始值匹配?
- 17. jQuery的下拉列表中选择是否值
- 18. jQuery:如何检查是否在选择框中明确选择了否选项
- 19. 检查值是否不在列表中
- 20. jQuery,检查复选框是否与同一类检查
- 21. 检查值是否在多选列表中的最佳方法?
- 22. jQuery的多项选择选项 - 检查是否选择一个选项或不
- 23. 如何检查选择框的组是否入围与否
- 24. 检查与jquery选择器的数量
- 25. JQuery的检查多个选择价值
- 26. 检查以查看是否在另一个表中选择的项目列表
- 27. 如何检查选择值是否等于使用jQuery Validate的特定选项?
- 28. 检查是否查找编辑选择
- 29. 检查是否正确的选项值选择
- 30. 检查分贝值是否与当前选择选项相匹配的函数
显式第二种方法是更安全也因为它允许包含任何字符,包括']'和''\\选项值。避免从原始文本中构建选择器字符串而不做适当的CSS转义。 – bobince
为什么'返回false'? –
返回false用于中断/结束.each循环。 – Angel