При динамическом создании полей ввода <select>заполняется $ .each только один раз, почему? - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь динамически добавить поле ввода в форму. Он работает отлично, за исключением одной вещи:

Я пытаюсь заполнить a $ .each, но это работает только для первого динамически добавляемого, если я добавляю больше, остается пустым.

the # Кнопка добавления находится в исходной форме:

добавление :

    $('#add').click(function() {
        i++;
        $dynamic_field').append('' +
        '<h1>Sensor '+i+'</h1>   ' +
        '<tr id="row'+i+'">
        '<td><div class="form-group">\n' +
                 '<label for="InputSensorType">Sensor Type*</label>\n' +
                  '<select class="form-control" id="InputSensorType" name="sensorType[]"></select>\n' 
         '</div></td>\n +'
         '<td>
              <button type="button" name="copy" id="copy" class="btn btn-primary">Copy this sensor
              </button></td><tr>');

Каждый:

          var jsarray = <?php echo json_encode($sensors)?>;

           $.each(jsarray, function (index, value) {
               $('#InputSensorType').append(('<option value='+index+'>'+value+'</option>'));
           });

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 05 марта 2020

Попробуйте это

var jsarray = '<?php echo json_encode($sensors)?>';
var obj = jQuery.parseJSON(jsarray);
var data = '';
 $.each(jsarray, function (index, value) {               
           data +='<option value='+index+'>'+value+'</option>';
            });
 $('#InputSensorType').append(data);
...