我试图在下拉列表中选择一个值。但在此之前,我检查控件中是否存在选定的值。 为此,我使用以下代码:Jquery选择器的下拉列表值不区分大小写
var exists = 0 != $('#comp option[value="'+ value +'"]').length;
其中值可以是上,下壳体或混合的情况下。我该如何重写这段代码,以适应各种各样的框架?
我试图在下拉列表中选择一个值。但在此之前,我检查控件中是否存在选定的值。 为此,我使用以下代码:Jquery选择器的下拉列表值不区分大小写
var exists = 0 != $('#comp option[value="'+ value +'"]').length;
其中值可以是上,下壳体或混合的情况下。我该如何重写这段代码,以适应各种各样的框架?
$('#comp option').each(function() {
if(this.value.toLowerCase() === value.toLowerCase()) {
// do something
}
});
而不是选择所有只是在检查它时使值为小写。
value.toLowerCase();
列表中的值不是小写,我不能在这种情况下制作它们。 – Patrick 2012-04-19 14:57:10
但是,你可以让他们小写,只是为了检查值?这些不必更改值。 – chadpeppers 2012-04-19 15:02:23
var myvalue = 'ONE';
$('select option').filter(function() {
if(new RegExp(this.value, 'ig').test(myvalue))
$(this).attr('selected', true);
});
您也可以使用这种方法。
var matchingValue = $('#select option').filter(function() {
return this.value.toLowerCase() == 'stackoverflow';
}).attr('value');
$('#select').val(matchingValue);
谢谢,这个伎俩。 – Patrick 2012-04-19 15:12:28
np。我会建议也许看看是否有更高性能的解决方案。如果这是您网页上的唯一形式,或者它被命名为..您可以完全消除jQuery。 – rlemon 2012-04-19 15:18:35