J'ai une série de lignes avec des colonnes et je veux sélectionner la valeur d'un champ input
qui se trouve dans une colonne précédente du champ input
(entrée de prix) sur lequel j'appelle une fonction quand une clé est relâchée.
J'ai essayé:
quantity = $(this).parent().parent().children().val() ;
quantity = $(this).parent().parent().children().closest('.inputQty', this).val() ;
Mais ni travail.
Un exemple du DOM:
<div class="row">
<div class="column"><input class="inputQty" id="quantity0" /></div>
<div class="column"><input class="someOther" id="Other0" /></div>
<div class="column">
<div class="cSelect">
<select id="currency0"><option>£</option></select>
<input class="price" id="price0" />
</div>
</div>
</div>
var otherInput = $(this).closest('.row').find('.inputQty');
Cela monte au rang, puis redescend à .inputQty
.
closest()
ne cherche que les parents, je suppose que ce que vous voulez vraiment, c'est .find()
$(this).closest('.row').children('.column').find('.inputQty').val();
Obtenir le .column
parent de l’élément this
, récupère son frère précédent, puis trouve toutes les entrées à cet endroit:
$(this).closest(".column").prev().find("input:first").val();
Tu pourrais essayer:
$(this).closest(".column").prev().find(".inputQty").val();