如何在动态创建的输入的jQuery中获取无线电值

时间:2018-06-04 19:31:25

标签: jquery dom elements prepend createelement

我遇到了一个问题,就是无法获取我用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创建的那些。

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

当我改变#f_49_4时,这个函数(或类似的东西)必须但不会提醒任何值。我试图追加/前置元素,但没有成功,也许有人可以帮助解决这个问题。 非常感谢。

1 个答案:

答案 0 :(得分:0)

您需要将事件连接到dom中已有的元素。您可以使用jQuery来监视动态添加元素的事件。

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