Динамически обновлять значения идентификатора формы с помощью цикла - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть форма поля с именем Имя и с идентификатором поля как:

    'id_Name_set-0' on row 0
    'id_Name_set-1' on row 1
     etc...

'Name_set-0', 'Name_set-1' устанавливаются автоматически, когда строки

Я пытаюсь автоматически заполнить поле Имя именем, введенным в строке 0.

Мой первый подход был:

    $('#id_Name_set-0').on('input',function(e){
        $('#id_Name_set-1').val(String($('#id_Name_set-0').val()));
    });

    $('#id_Name_set-0').on('input',function(e){
            $('#id_Name_set-1').val(String($('#id_Name_set-0').val()));
        });

    $('#id_Name_set-0').on('input',function(e){
            $('#id_Name_set-2').val(String($('#id_Name_set-0').val()));
        });

Это прекрасно работает, так как я жестко закодировал значения 0,1,2 ... но я хочу динамически обновлять эти значения с помощью цикла.

Ответы [ 2 ]

0 голосов
/ 05 ноября 2019

Используйте для этого JQUERY, сначала получите все входы и установите на нем петлю each.
this.id получит идентификатор входа, где используются входы.

$("input").each(function(){
  $(this).on("input",function(){
    alert(this.id);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="input1"/>
<input id="input2"/>
<input id="input3"/>
<input id="input4"/>
0 голосов
/ 05 ноября 2019

Вы можете отфильтровать свои входные данные, используя $('input[id^="id_Name_set-"]'), получить их общее количество, а затем просто пропустить первый (номер 0) в цикле.

var totalDivs = $('input[id^="id_Name_set-"]').length;

for(var i = 1; i < totalDivs; i++)
{
    $("#id_Name_set-" + i).val(i);
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...