Первая строка была успешно заполнена текстовым полем, однако в оставшихся строках, когда я добавляю строку, когда я меняю раскрывающийся список, текстовое поле остается пустым и не заполняется
Это мой макет, я использую повторитель jquery.form
Элементы HTML / Повторитель форм
Эта таблица действует только как заголовок
<h4 class = "form-section"><i class = "ft-mail"></i> Charges/Rates</h4>
<table class = "table mb-0">
<thead class = "bg-teal bg-lighten-4">
<tr>
<th>Currency</th>
<th>Charges</th>
<th>Amount</th>
<th>Unit</th>
<th style = "padding-right: 80px;">Total</th>
<th></th>
</tr>
</thead>
</table>
Это повторитель формы
`<div class = "repeater-default" style = "padding-top: 25px;">
<div data-repeater-list = "car">
<div data-repeater-item>
<div class = "row">
<div class = "form-group mb-1 col-sm-12 col-md-2">
{!! Form::select('charge', $charges, null,
['class'=>'form-control charge', 'id'=>'charge']) !!}
</div>
<div class = "form-group mb-1 col-sm-12 col-md-2">
<input type = "text" class = "form-control amount"
id = "amount">
</div>
<div class = "form-group mb-1 col-sm-12 col-md-2">
<textarea class = "form-control" id = "bio" rows = "1">
</textarea>
</div>
<div class = "skin skin-flat form-group mb-1 col-sm-12 col-
md-2">
<input class = "form-control" type = "tel" value = "1-
(555)-555-5555" id = "tel-input">
</div>
<div class = "form-group mb-1 col-sm-12 col-md-2">
<select class = "form-control" id = "profession">
<option>Select Option</option>
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
<option>Option 4</option>
<option>Option 5</option>
</select>
</div>
<div class = "form-group mb-1 col-sm-12 col-md-2">
<button type = "button" class = "btn btn-danger" data-
repeater-delete> <i class = "ft-x">Delete</i>
</button>
</div>
</div>
</div>
</div>
</div>
</div>`
Мой Контроллер
`public function findcharge($id){
$amount = Charge::where('id', $id)->pluck('amount');
return response()->json(['success'=>true, 'info'=>$amount]);
}`
Javascript для получения суммы
<script>
$("#charge").change(function() {
$.ajax({
url: '/charges/' + $(this).val(),
type: 'get',
data: {},
success: function(data) {
if (data.success == true) {
$("#amount").val(data.info);
} else {
alert('Cannot find info');
}
},
error: function(jqXHR, textStatus, errorThrown) {}
});
});
</script>



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


запускайте свой код при загрузке страницы
<script>
$(function(){
$("body").on('change',"#charge",function() {
$.ajax({
url: '/charges/' + $(this).val(),
type: 'get',
data: {},
success: function(data) {
if (data.success == true) {
$(this).closest('[data-repeater-item]').find("#amount").val(data.info);
} else {
alert('Cannot find info');
}
},
error: function(jqXHR, textStatus, errorThrown) {}
});
});
})
</script>
Еще раз спасибо. теперь работает. Однако одно и то же значение присваивается всем текстовым полям в каждой строке независимо от строки раскрывающегося элемента. Я добавлял строки и всякий раз, когда меняю каждое раскрывающееся меню. значение текстового поля для каждой строки было одинаковым.
вы можете предоставить структуру html для нескольких строк?
Извините, проблема не устранена. Может быть, проблема с моей структурой HTML. Не могли бы вы дать мне какую-нибудь ссылку или образец демонстрации?
Спасибо за ответ. Однако единственной строкой, которая получала значение, была только первая строка. других строк не было.