Как я могу получить значение ближайшего текстового поля и назначить его переменной? Затем после получения значения измените текущее значение этого текстового поля, умножив его на значение предыдущего текстового поля. У меня есть три экземпляра div с теми же элементами ввода, поэтому я думаю, что .closest() или .next() могут мне помочь. Вот отрывок из моего кодаjQuery - получить значение ближайшего текстового поля и присвоить его переменной
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);
})
})
неработающего демо
Спасибо за ответы
/* ПРИМЕЧАНИЕ */
Цель этого флажка - показать, что у меня есть флажок между этими двумя элементами.
.closest() метод начинает поиск с самого элемента перед переходом вверх по дереву DOM. Чтобы получить значение другого элемента, вам может понадобиться использовать .next() или .prev(). Вы также можете попробовать, но я не уверен, что 'var p = parseFloat ($ (this) .closest (" input [name = price] "). Closeest (" input [name = price] "). Val()). toFixed (2); ' –
Я пробовал ваш сниппет, и он все еще дает мне результат NaN –
nice username man .. –