Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery select elements with value between x and y

I'd like to be able to do that kind of selection:

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

Which would give me the 9 and 10. Is there a way to do that ?

like image 208
Pierre de LESPINAY Avatar asked Apr 01 '10 07:04

Pierre de LESPINAY


1 Answers

You can do this with .filter() like this:

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

If you need to use this often, you could make it a selector as well:

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]);
};

Then you can select by:

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

Just change the >= and <= if you don't want the range to be inclusive.

like image 188
Nick Craver Avatar answered Nov 15 '22 06:11

Nick Craver