Comment obtenir les valeurs à partir de la saisie de tous les éléments à l'intérieur d'un <tr> élément à l'aide de JQuery
Comment puis-je obtenir tous les éléments d'entrée dans une ligne dans mon formulaire?
Par exemple, dans l'extrait de code ci-dessous, j'ai une case à cocher et une zone de saisie de texte. Je veux obtenir les valeurs de ces deux types d'entrée et de les afficher à l'utilisateur dans le prochain td élément contenant le div id="hist" élément.
<tr><td>Head</td>
<td><input type="text" name="headH" id="headH" ></td>
<td><input class="NA" type="checkbox" name="headNA" id="headNA" value="N/A"></td>
<td><div class="hist"></div><%=Utils.getMeasurementsCreateDiv1("Head","H",num) %>
</td></tr>
<tr><td>Neck</td>
<td><input type="text" name="neckH" id="neckH" ></td>
<td><input class="NA" type="checkbox" name="neckNA" id="neckNA" value="N/A"></td>
<td><div class="hist"></div><%=Utils.getMeasurementsCreateDiv1("Neck","H",num) %></td>
</tr>
<tr><td>UE</td>
<td><input type="text"name="uEH" id="uEH"></td>
<td><input class="NA" type="checkbox" name="ueNA" id="ueNA" value="N/A"></td>
<td><div class="hist"></div><%=Utils.getMeasurementsCreateDiv1("UExt","H",num) %></td>
Aussi j'ai 5 boutons radio et une zone de saisie de texte attaché à elle. Ce sont tous des pas sur la même ligne mais je veux obtenir la valeur de la "pain1" et le "cerCommentH" de l'élément et de l'afficher. Veuillez noter que le ci-dessous est juste un extrait de code. J'ai plusieurs de ces éléments dans mon formulaire, donc je ne peux pas travailler avec eux individuellement à l'aide de leurs "id".
<tr>
<td>Mech</td>
<td>
<input type="radio" name="pain1" value="Pain a">Pain a
<input type="radio" name="pain1" value="Pain b">Pain b
</td></tr>
<tr><td></td>
<td>
<input type="radio" name="pain1" value="Pain c">Pain c
<input type="radio" name="pain1" value="Pain d">Pain d
<input type="radio" name="pain1" style="display:none;" value="">
<input type="button" value="Clear" onclick="document.history.pain1l[4].checked = true;">
</td>
<td><div class="hist"></div><%=Utils.getMeasurementsCreateDiv1("Cehi","H",num) %></td>
</tr>
<tr>
<td></td>
<td><input type="radio" name="pain1" value="Other">Other
<input type="text" name="cerCommentH" id="cerCommentH">
</td>
<td></td>
<td></td>
</tr>
Merci d'avance pour votre aide.
OriginalL'auteur Sapphire | 2012-06-12
Vous devez vous connecter pour publier un commentaire.
En supposant que vous voulez peut-être faire quelque chose avec chacun:
Vous avez raison, cependant je n'ai aucune idée de ce qu'il veut faire avec les valeurs donc je vais laisser ça à l'OP. Je me rends compte que
+=
est court cependant pour des raisons de lisibilité, j'ai fait le chemin le plus long.Je veux créer un
<div>
avec les valeurs dans le champ de saisie et de l'afficher à l'utilisateur. donc, quelque chose comme (N/A-headcomment,Date). Toutefois, ce code est à insérer "undefined-13-Jun-2012" dans tous les<div>
s, et pas seulement celles qui leur correspondent aux champs de saisie.c'est ce que j'ai essayé, avec un peu de changement à votre code
$('tr').each(function() { var row = this; var values; $('input[type=text],textarea,input[type=radio]:checked,input[type=checkbox]:checked', this).each(function() { if ($(this).val()!=null && $(this).val()!="") values += $(this).val(); }); $('.hist', row).text(values+"-"+"<%=date%>");
});`OriginalL'auteur lucuma
Si vous en avez besoin serialize (), alors:
OriginalL'auteur Sergei Zahharenko
OriginalL'auteur Jerry
Vous pouvez sérialiser dans un tableau qui peut ensuite être directement entrée dans un jquery ajax méthode que les données à l'aide de serializeArray.
OriginalL'auteur Kevin B