Laravel Multi Row Input / Автоматически заполнять поля текстового поля в строке при выборе раскрывающегося списка

Первая строка была успешно заполнена текстовым полем, однако в оставшихся строках, когда я добавляю строку, когда я меняю раскрывающийся список, текстовое поле остается пустым и не заполняется

Это мой макет, я использую повторитель 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>
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
176
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

запускайте свой код при загрузке страницы

<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>

Спасибо за ответ. Однако единственной строкой, которая получала значение, была только первая строка. других строк не было.

Rain Storm 13.08.2018 13:04

Еще раз спасибо. теперь работает. Однако одно и то же значение присваивается всем текстовым полям в каждой строке независимо от строки раскрывающегося элемента. Я добавлял строки и всякий раз, когда меняю каждое раскрывающееся меню. значение текстового поля для каждой строки было одинаковым.

Rain Storm 13.08.2018 14:23

вы можете предоставить структуру html для нескольких строк?

madalinivascu 13.08.2018 14:29

Извините, проблема не устранена. Может быть, проблема с моей структурой HTML. Не могли бы вы дать мне какую-нибудь ссылку или образец демонстрации?

Rain Storm 13.08.2018 18:00

Другие вопросы по теме