Как получить значение радио в JQuery динамически созданного ввода - PullRequest
0 голосов
/ 04 июня 2018

У меня проблема, просто не могу получить значение ввода, который я создал с помощью функции в запросе, сгенерированной php.

Сначала я создаю функцию, которая показывает правильный контент в зависимости от того, какое радио проверено.Какой-то выбор подуровня.Это работает нормально, но кажется, что он не зарегистрирован как элемент DOM.

Вот функция, которая генерирует контент с помощью радио

    $( document ).ready(function() {    
    $('#f_49').change(function(event) {                     
        var selectedID = $(this);
        var html = '<div class="col-md-12 p-4" id="id_f_49">';
        html = html + '<div class="form-check">';
        html = html+'<input class="form-check-input" type="radio" name="f_49[]" id="f_49_4" value="129"'; 
        html = html+' checked >';
        html = html+ ' <label class="form-check-label" for="f_49_4">';
        html = html+' CHOICE</label>';      
        html = html+ '</div>';  
        html = html+ '</div>';

        $('.first_choice_div_group').each(function(){
            $(this).not(selectedID).prop('checked', false);
        });

        $('#target_div').html(html);
        $('#target_div').show('slow');
        });

});

Сейчаспроблема в том, что когда я пытаюсь получить значения всех элементов формы, я получаю только те, что сгенерированы в php, но те, что были созданы выше jQuery NOT.

$('#user-form').contents().find('input[id*="f_"]').change(function(event) {
    var value = $(this).val();
    alert (value);
});

Эта функция (или что-то подобное) ДОЛЖНА, но не 'не оповещать любое значение, когда я изменяю # f_49_4.Я пытался добавить / добавить элементы, но безуспешно, может быть, кто-то может помочь с этим.Большое спасибо.

1 Ответ

0 голосов
/ 04 июня 2018

Вам нужно связать события с элементами, которые уже находятся в DOM.Вы можете использовать jQuery для мониторинга событий для динамически добавляемых элементов.

$('#user-form').on('change', 'input[id*="f_"]', function(event){
    var value = $(this).val();
    alert (value);
});  
...