JQuery выбрать элементы со значениями от х до у - PullRequest
5 голосов
/ 01 апреля 2010

Я бы хотел сделать такой выбор:

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

Что даст мне 9 и 10. Есть ли способ сделать это?

Ответы [ 3 ]

15 голосов
/ 01 апреля 2010

Вы можете сделать это с помощью .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)")

Просто измените >= и <=, если вы не хотите, чтобы диапазон включался.

4 голосов
/ 01 апреля 2010

Вы можете использовать функцию фильтра :

$('input').filter(function(index) {
    var value = parseInt($(this).val());
    return !isNaN(value) && value > 6 && value < 11;
});
2 голосов
/ 01 апреля 2010

Вы можете использовать .filter():

$("input").filter(function(){
   var v = parseInt($(this).val());
   return (v > 9 && v < 11)
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...