列を持つ一連の行があり、キーが離されたときに関数を呼び出しているinput
フィールド(価格入力)の前の列にあるinput
フィールドの値を選択したい。
私が試してみました:
quantity = $(this).parent().parent().children().val() ;
quantity = $(this).parent().parent().children().closest('.inputQty', this).val() ;
しかし、どちらも機能しません。
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');
それは行レベルに上がり、.inputQty
に戻ります。
closest()
は親だけを探します。本当に欲しいものは .find()
$(this).closest('.row').children('.column').find('.inputQty').val();
this
要素の.column
親を取得し、その前の兄弟を取得し、そこで入力を見つけます。
$(this).closest(".column").prev().find("input:first").val();
あなたが試すことができます:
$(this).closest(".column").prev().find(".inputQty").val();