如何在动态创建的输入的 jQuery 中获取单选值
How to get radio value in jQuery of a dynamically created input
我遇到了一个问题,无法获取我使用 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 时,此函数(或类似函数)必须但不会提醒任何值。我试图附加/前置元素,但没有成功,也许有人可以帮助解决这个问题。
非常感谢。
您需要将事件连接到 dom 中已有的元素。您可以使用 jQuery on 来监控动态添加元素的事件。
$('#user-form').on('change', 'input[id*="f_"]', function(event){
var value = $(this).val();
alert (value);
});
我遇到了一个问题,无法获取我使用 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 时,此函数(或类似函数)必须但不会提醒任何值。我试图附加/前置元素,但没有成功,也许有人可以帮助解决这个问题。 非常感谢。
您需要将事件连接到 dom 中已有的元素。您可以使用 jQuery on 来监控动态添加元素的事件。
$('#user-form').on('change', 'input[id*="f_"]', function(event){
var value = $(this).val();
alert (value);
});