计算表格行中空输入框的数量

7
如何使用 jQuery 计算表格行中没有值的输入框数量?
示例:
<table id="table1">
<tr class="data" id="row5">
<td><input type="text" value="20%" /></td>
<td><input type="text" value="10%" /></td>
<td><input type="text" value="" /></td>
<td><input type="text" /></td>
</tr>
<table>

我正在寻找答案 = 2


我正在寻找类似于$('#row5 > td input[type=text][value=]').length的东西,但很明显我的jQuery写错了。 - Daniel Brink
好的,抱歉各位,看起来我又搞错了:empty 不起作用,但是 .find('input:text[value=""]') 看起来可以,我会进行更多测试,然后重新选择正确答案。 - Daniel Brink
请查看我的答案中的演示。 - Reigel Gallarde
2个回答

6
尽管OP声称答案正确并可行,但这是来自API文档的内容:

另一些元素则根据定义为空(即没有子元素):例如input、img、br和hr。

因此,使用:empty选择器实际上是不可能的。
$('input:empty').length

或者更具体地说:
$('#table1').find('input:empty').length

更具体的说:

$('#table1').find('input[type=text]:empty').length

我认为很明显,在上面的表行中“没有值”指的是“行” :) - Reigel Gallarde
你确定吗?:p 我想我必须更正我的答案,因为根据定义,:empty 返回输入元素的“empty”。 - jAndy
啊,是的...我对:empty毫不怀疑...只是问题标题说在表格行中...不是在表格中...啊,没关系... :) - Reigel Gallarde
我这里说的是否有问题?:empty 真的可以用于输入框中空值的判断吗? - jAndy
如何检查输入是否为空或null?我无法仅检查一个列。 - Alejandro Hinestrosa
显示剩余3条评论

2
您可以这样做:
alert($('#table1 input:text[value == ""]').length);

我认为很明显,在上面的表行中“没有值”指的是“行” :) - Reigel Gallarde
2
@Reigel:最终输入将会放在表格>行>单元格中。 - Sarfraz
1
@Reigel:不,它会计算表格中的空文本框。 - Web Logic
啊哈,我想他只是希望按行展示... 就像上面的 ..table row.. - Reigel Gallarde
获取 Syntax error, unrecognized expression: #table1 input:text[value == ""] - Love Putin Not War

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接