How do you calculate the number of input boxes with no value in a table row using jquery?
example:
<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>
I'm looking for answer = 2
How do you calculate the number of input boxes with no value in a table row using jquery?
example:
<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>
I'm looking for answer = 2
Share Improve this question asked May 31, 2010 at 8:17 Daniel BrinkDaniel Brink 2,5044 gold badges24 silver badges26 bronze badges 3- i looking for something like $('#row5 > td input[type=text][value=]').length, but obviously my jquery is wrong – Daniel Brink Commented May 31, 2010 at 8:20
- ok, sorry guys, looks like i got it wrong again :empty didn't work, but its looks like .find('input:text[value=""]') does, will do some more testing and then reselect the correct answer – Daniel Brink Commented May 31, 2010 at 8:43
- please look at my demo in my answer... – Reigel Gallarde Commented May 31, 2010 at 8:54
2 Answers
Reset to default 6Even that the OP claimed the answer as correct and working, this es from the api doc:
Some other elements, on the other hand, are empty (i.e. have no children) by definition: input, img, br, and hr, for example.
So actually, it should be impossible to do it with the :empty selector.
$('input:empty').length
or to be more specific:
$('#table1').find('input:empty').length
even more specific:
$('#table1').find('input[type=text]:empty').length
You can do like:
alert($('#table1 input:text[value == ""]').length);