You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

动态生成Radio输入框的Value与ID获取问题求助

问题分析与解决方案:无法获取动态生成Radio按钮的Value/ID

你的问题出在事件委托的目标绑定错误上——你把change事件直接绑定到了document对象上,而没有指定要监听的具体radio元素。这就导致事件触发时,this指向的是整个document,而不是你点击的那个radio按钮,自然拿不到它的value或id。

修正后的代码示例

1. 获取Radio的ID

jQuery(document).on('change', 'input[type="radio"]', function (){
    // 原生JS写法更简洁直接
    alert(this.id);
    // 也可以用jQuery写法
    // alert(jQuery(this).attr('id'));
});

2. 获取Radio的Value(需先给Radio补充value属性)

你当前生成的radio标签缺少value属性,所以即使绑定正确,this.value也会是空字符串。先修改你的生成代码,补上value:

<input class="mb-1 ml-2" style="transform: scale(1.3);" type="radio" id="input-'+counter+'" value="'+counter+'">

再绑定事件获取value:

jQuery(document).on('change', 'input[type="radio"]', function (){
    alert(this.value);
});

关键原理说明

事件委托的核心是指定目标选择器——jQuery(document).on('change', '目标选择器', 回调函数),这样当事件冒泡到document时,jQuery会检查触发事件的元素是否匹配目标选择器,匹配的话就执行回调,此时this就会指向那个触发事件的radio按钮,你就能正常获取它的属性了。

内容的提问来源于stack exchange,提问作者Driton Cazimi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 14:22:48