最も近いテキストボックスの値を取得して変数に割り当てるにはどうすればよいですか?次に、値を取得した後、そのテキストボックスの現在の値に前のテキストボックスの値を掛けて変更します。同じ入力要素を持つdivのインスタンスが3つあるので、.closest()または.next()が役立つと思います。これが私のコードの抜粋です
HTML
<div class="box">
<b>1</b>
<input type="text" name="quantity" value="1"/>
<input type="checkbox" name="ignoreThisCheckbox" checked="checked"/>
<input type="text" name="price" value="10"/>
</div>
<div class="box">
<b>2</b>
<input type="text" name="quantity" value="1"/>
<input type="checkbox" name="ignoreThisCheckbox" checked="checked"/>
<input type="text" name="price" value="10"/>
</div>
<div class="box">
<b>3</b>
<input type="text" name="quantity" value="1"/>
<input type="checkbox" name="ignoreThisCheckbox" checked="checked"/>
<input type="text" name="price" value="10"/>
</div>
JS
$("input[name=quantity]").each(function(){
$(this).bind("change keyup", function(){
var q = $(this).val();
var p = parseFloat($(this).closest("input[name=price]").val()).toFixed(2);
var amount = q * p;
$(this).closest("input[name=price]").val(amount)
console.log(amount);
})
})
動作しないデモ
回答ありがとうございます
/* ノート */
チェックボックスの目的は、関係する2つの要素の間にチェックボックスがあることを示すことだけです。