更清楚地检查文本框值的方法

时间:2011-11-03 04:25:42

标签: javascript jquery

我有一个列出项目的表,并且有一个以初始值0开头的数量文本框列。

item name | price | quantity
item1     | $1.00 |    0
item2     | $1.00 |    0
item3     | $1.00 |    0

我想检查所有行是否都有0值。

我正在考虑使用它:

var all_zeros = true;
$('input.item-quantity').each(function () {
    //Check for 0 quantity and update all_zeros var
}

是否有更清洁,更有希望更好的方法呢?

3 个答案:

答案 0 :(得分:2)

以下代码可以帮助您:

var zeeroCount = $('input.item-quantity').filter(function(){
  return $(this).val() == "0";
}).length;

var allCount = $('input.item-quantity').length;

if(zeeroCount == allCount)
{
  ........
}

修改

$('input.item-quantity[value="0"]').length;

答案 1 :(得分:1)

你可以短路。试试这个:

var all_zeros = true;

$('input.item-quantity').each(function () {
    return all_zeros = parseInt($(this).val(), 10) === 0;
});
console.log(all_zeros); // false

这样你可以在第一次遇到非零时停止,而不是每次都遍历整个列表。

http://jsfiddle.net/E3uGD/

答案 2 :(得分:0)

这可能是我接近它的方式。你不喜欢它吗?