如何在 jQuery 中获取动态创建的输入的单选值

Posted

技术标签:

【中文标题】如何在 jQuery 中获取动态创建的输入的单选值【英文标题】:How to get radio value in jQuery of a dynamically created input 【发布时间】:2018-11-14 04:50:15 【问题描述】:

我遇到了一个问题,就是无法获取我使用 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】:

您需要将事件连接到 dom 中已经存在的元素。您可以使用 jQuery on 来监控动态添加元素的事件。

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

【讨论】:

以上是关于如何在 jQuery 中获取动态创建的输入的单选值的主要内容,如果未能解决你的问题,请参考以下文章

如何上传以 html 表单输入的单选按钮值

验证动态单选按钮jQuery

在 iframe 中获取单选值

如何使用 jquery unobtrusive 和 Asp.Net Mvc 验证动态生成的单选按钮组?

如何在 Javascript 中动态创建适用于所有浏览器的单选按钮?

更改单选按钮选中状态时如何从单选按钮组中的单选按钮获取文本