Поскольку .prev()
цель, непосредственно предшествующая брату и элементу <INPUT>
, не удовлетворяет условию в контексте <BUTTON>
, таким образом, приведенный выше код не работал.
Используйте .closest()
для нацеливания на общий родительский элемент, затем используйте .find()
для нацеливания на элемент <INPUT>
и используйте .val(value)
для установки значения.
$(this)
.closest('.form-inline')
.find('.deliveramount')
.val($(this).text())`
$(document).ready(function() {
$(".delivervalue").click(function() {
$(this)
.closest('.form-inline')
.find('.deliveramount')
.val($(this).text());
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form class="form-inline">
<div class="form-group mb-2">
<input type="text" class="form-control deliveramount" placeholder="insert amount to deliver">
</div>
<button type="button" class="btn btn-primary delivervalue">1000</button>
<button type="button" class="btn btn-primary delivervalue">3000</button>
<button type="button" class="btn btn-primary delivervalue">5000</button>
</form>