2010-05-31 6 views
7

Comment calculer le nombre de zones de saisie sans valeur dans une ligne de table à l'aide de jquery?Nombre de zones de saisie vides dans la ligne

exemple:

<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> 

Je cherche réponse = 2

+0

je cherche quelque chose comme $ (» # row5> td input [type = text] [value =] '). longueur, mais évidemment mon jquery est faux –

+0

ok, désolé les gars, on dirait que je me suis trompé à nouveau: vide ne fonctionne pas, mais son aspect ressemble à .find ('input: text [value = ""]'), fera un peu plus de tests et puis resélectionner la bonne réponse –

+0

s'il vous plaît regarder ma démo dans ma réponse ... – Reigel

Répondre

6

Même que l'OP a coûté la réponse comme correcte et le travail, cela vient du api doc:

Certains D'autre part, les autres éléments sont vides (ie n'ont pas d'enfants) par définition: input, img, br et hr, par exemple.

Donc en réalité, il devrait être impossible de le faire avec le sélecteur: vide.

$('input:empty').length 

ou pour être plus précis:

$('#table1').find('input:empty').length 

encore plus précis:

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

je pense qu'il est clair que «sans valeur dans une rangée de table» ci-dessus ... «rangée» :) – Reigel

+0

êtes-vous sûr de cela? : p Je suppose que je dois corriger ma réponse, il semble que le: vide renvoie 'vide' par définition pour les éléments d'entrée – jAndy

+0

ahh oui .. Je n'ai aucun doute avec le ': vide' du tout ... c'est juste que le titre de la question dit dans une rangée de table ... pas dans une table .... ahh ne me dérange pas .. :) – Reigel

2

Vous pouvez faire comme:

alert($('#table1 input:text[value == ""]').length); 
+0

je pense qu'il est clair que «sans valeur dans une rangée de table» ci-dessus ... «rangée» :) – Reigel

+2

@Reigel: En fin de compte, l'entrée ira dans la table> tr> td. – Sarfraz

+0

mais je suppose que votre compte comptera les entrées dans une table ... – Reigel

Questions connexes