2010-04-01 69 views
5

jQuery的選擇

X和Y之間有值的元素,我想能夠做到那樣的選擇:

$('input[value between 6 and 11]'); 

這將使我的9和10。 有沒有辦法做到這一點?

回答

15

您可以用.filter()這樣做:

$("input").filter(function() { 
    return $(this).val() >= 6 && $(this).val() <= 11; 
}).somethingHere(); 

如果你需要經常使用這個,你可以把一個選擇,以及:

jQuery.expr[':'].between = function(a, b, c) { 
    var args = c[3].split(','); 
    var val = parseInt(jQuery(a).val()); 
    return val >= parseInt(args[0]) && val <= parseInt(args[1]); 
}; 

然後你可以選擇通過:

$("input:between(6, 11)") 

只要改變>=<=如果您不希望範圍具有包容性。

+0

謝謝你,這可能是非常有用的 – 2010-04-01 08:12:20

4

您可以使用過濾器function

$('input').filter(function(index) { 
    var value = parseInt($(this).val()); 
    return !isNaN(value) && value > 6 && value < 11; 
}); 
+0

非常感謝你,我不知道如何使用過濾器() – 2010-04-01 08:04:47

2

你可以使用.filter()

$("input").filter(function(){ 
    var v = parseInt($(this).val()); 
    return (v > 9 && v < 11) 
}); 
+0

非常感謝,我不知道如何使用filter() – 2010-04-01 08:05:28