根据输入中的值大于零获取特定的表行

时间:2014-08-23 15:48:51

标签: javascript jquery

我需要获取表中行的数量,其中行内的输入值大于零。所以例如我有

<table>
 <tr><td><input type="text" value="23.4"/></td></tr>
 <tr><td><input type="text" value="39.5"/></td></tr>
 <tr><td><input type="text" value="14.4"/></td></tr>
 <tr><td><input type="text" value="0"/></td></tr>
 <tr><td><input type="text" value="89"/></td></tr>
</table>

因此查询必须使用上面的示例返回总行数4.

我设法让以下内容成为解决此问题的最快捷,最简单的方法

var counter = 0;
$('table tr').each(function(){
   if(parseFloat($(this).find('input').val()) > 0){counter++;}
});

发现大于零的每个值的值增量。感谢帮助人员

2 个答案:

答案 0 :(得分:2)

获取行,然后对您过滤的输入进行过滤,这些输入的值大于零。

var numb = $('table tr').filter(function() {
    return $(this).find('input').filter(function() {
        return this.value > 0;
    }).length > 0;
}).length;

这将允许每行中的多个输入,如果任何输入的值大于零,则计算行

FIDDLE

答案 1 :(得分:1)

你需要jQuery,然后检索所有&#39; .tr输入&#39;,然后检查值

var res = $('tr input').filter(function(index){
   // need multiplicate by 1 to cast as number because input values are always strings
   return (this.value*1) > 0;
});
console.log('res.length : ', res.length);