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

DataTables非首页选中的单选按钮ID无法传递到Django URL如何解决

问题修复方案

该问题可以自行修复,不是DataTables本身的故障。

问题原因

DataTables为了提升渲染性能,默认只会将当前分页的内容渲染到DOM中,其他分页的元素是切换分页时才动态插入到页面的。你在页面初始化时直接给$('input[type="radio"]')绑定点击事件,仅能绑定到页面加载时已经存在的第一页单选按钮,后续分页动态生成的单选按钮没有绑定对应事件,因此点击后不会触发更新编辑链接的逻辑。

修复代码

将原来的单选按钮点击事件绑定逻辑替换为事件委托写法,把事件绑定到始终存在的上层元素(比如document、表格本身),即可监听到所有动态生成的单选按钮的点击事件:

$(function(){
  // 事件委托绑定到document,适配所有动态生成的单选按钮
  $(document).on('click', 'input[type="radio"][name="radio_id"]', function(){
    if ($(this).is(':checked')) {
      let link = $('#edit')
      let baseHref = link.attr("href").split("?radio_id=")[0]
      link.attr("href", baseHref + "?radio_id=" + $(this).val());
    }
  });
});

可选优化说明

你当前代码里所有单选按钮的id都为radio_id,存在id重复的问题,不符合HTML规范,如有需要可以修改为id="radio_id_{{list.id}}"避免id冲突,该修改不影响现有功能运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:57:03