Функция добавления JS прерывает итерацию поля формы - PullRequest
0 голосов
/ 09 июня 2018

У меня есть условная функция (addAtn), которая добавляет дополнительное поле к динамической форме, если это необходимо.Основная форма создается после выбора количества элементов.

Все элементы функции протестированы и работают, но когда я пытаюсь вызвать ее из функции ticketQuantity, она ломается и только когда-либо возвращает 1 ticketDetailстрока, без дополнительного добавления.

Функция addAtn имеет значение

                    $.get('/sellers/' + venueId + '/atn', function(data) {

                      if (data['field']=="atn") {

                        function addAtn() {
                         ticketDetails.append(
                            '<div data-row="' + i + '" class="ticket-row form-group row">' +
                            '<div class="col-md-4 col-sm-6 col-xs-6">' +
                            '<label class="control-label text-muted">UTN (unique ticket number)</label>' +
                            '<input type="text" class="form-control utn" placeholder="" name="ticket[' + i + '][utn]">' +
                            '</div>' +
                            '</div>'
                          );
                          };
                        }
                        else {
                          function addAtn() {};
                        }

                    });

Функция ticketQuantity при выборе:

$('#ticketQuantity').on('change', function () {
    var ticketQuantity = $('#ticketQuantity').val();
    var ticketDetails = $('#ticketDetails');
    var previewTicketBtn = $('#previewTicketBtn');

    ticketDetails.html('<p>For general admission tickets enter "GA" in Seat Number box.</p>');

    if (ticketQuantity == 1) {
        $('#split-tickets').hide();
    } else {
        $('#split-tickets').show();
    }

    $('#ticket-rows').html('');
    for (var i = 1; i <= ticketQuantity; i++) {
        ticketDetails.append('<hr><p class="ticket-details" style="margin-top: 30px;"><strong>Ticket ' + i + '</strong></p>' +
             '<div data-row="' + i + '" class="ticket-row form-group row">' +
             '<div class="col-md-2 col-sm-6 col-xs-6">' +
             '<label class="control-label text-muted">Seat number</label>' +
             '<a href="#" data-tooltip="Please enter the Section, Row and Seat number exactly as it appears on your ticket">?</a>' +
             '<input type="text" class="form-control seatNumber" placeholder="" name="ticket[' + i + '][seat_number]">' +
             '</div>' +
             '<div class="col-md-2 col-sm-6 col-xs-6">' +
             '<label class="control-label text-muted">Ticket face value</label>' +
             '<div class="input-group">' +
             '<span class="input-group-addon">£</span>' +
             '<input type="text" class="form-control ticketFaceValue" name="ticket[' + i + '][ticket_face_value]">' +
             '</div>' +
             '</div>' +
             '<div class="col-md-2 col-sm-6 col-xs-6">' +
             '<label class="control-label text-muted">Asking price</label>' +
             '<div class="input-group">' +
             '<span class="input-group-addon">£</span>' +
             '<input type="text" class="askingPrice last-ticket-input form-control" name="ticket[' + i + '][asking_price]">' +
             '</div>' +
             '</div>' +
             '</div>' +
             '<div data-row="' + i + '" class="ticket-row form-group row">' +
             '<div class="col-md-6" col-sm-12 col-xs-12>' +
             '<label class="control-label text-muted">Restrictions</label>' +
             '<input type="text" class="form-control restrictions" placeholder="Please enter any restrictions here, for example Child or ID required" name="ticket[' + i + '][restrictions]">' +
             '</div>' +
             '</div>');

             addAtn();

});

Может кто-нибудь помочь.Я не могу понять, что я делаю неправильно.

Спасибо.

...