2012-04-19 35 views
0

我试图在下拉列表中选择一个值。但在此之前,我检查控件中是否存在选定的值。 为此,我使用以下代码:Jquery选择器的下拉列表值不区分大小写

var exists = 0 != $('#comp option[value="'+ value +'"]').length; 

其中值可以是上,下壳体或混合的情况下。我该如何重写这段代码,以适应各种各样的框架?

回答

1
$('#comp option').each(function() { 
    if(this.value.toLowerCase() === value.toLowerCase()) { 
     // do something 
    } 
}); 
+0

谢谢,这个伎俩。 – Patrick 2012-04-19 15:12:28

+0

np。我会建议也许看看是否有更高性能的解决方案。如果这是您网页上的唯一形式,或者它被命名为..您可以完全消除jQuery。 – rlemon 2012-04-19 15:18:35

2

而不是选择所有只是在检查它时使值为小写。

value.toLowerCase(); 
+0

列表中的值不是小写,我不能在这种情况下制作它们。 – Patrick 2012-04-19 14:57:10

+0

但是,你可以让他们小写,只是为了检查值?这些不必更改值。 – chadpeppers 2012-04-19 15:02:23

0
var myvalue = 'ONE'; 
$('select option').filter(function() { 
    if(new RegExp(this.value, 'ig').test(myvalue)) 
     $(this).attr('selected', true); 
}); 
0

您也可以使用这种方法。

var matchingValue = $('#select option').filter(function() { 
    return this.value.toLowerCase() == 'stackoverflow'; 
    }).attr('value');  
$('#select').val(matchingValue); 
相关问题