Ответ 1
Что-то вроде этого, используя .filter()
:
$('input[type="text"]').filter(function() {
return parseInt($(this).val(), 10) > 0;
});
У меня есть набор текстовых входов с числовыми значениями:
<input type='text' value='25' />
<input type='text' value='0' />
<input type='text' value='45' />
<input type='text' value='-2' />
.
. etc...
Мне нужно выбрать только те входы со значениями больше 0. Как я могу это сделать с помощью jQuery? Спасибо!
Что-то вроде этого, используя .filter()
:
$('input[type="text"]').filter(function() {
return parseInt($(this).val(), 10) > 0;
});
//select all text type inputs
$('input[type=text]').each(function(){
var val = parseInt($(this).val());
if(val > 0)
//your logic here
});
Другим способом, для удовольствия, в основном:
// get array of values
var arr = $('input').map(function() {
return parseInt(this.value, 10);
}).get();
// use John Resig uberfast way of getting max value
// http://ejohn.org/blog/fast-javascript-maxmin/
alert(Math.max.apply(Math, arr));
Примечание. Вышеуказанное работает просто отлично без parseInt
.