oldbee0925 2023-01-20 15:29 采纳率: 91.4%
浏览 29
已结题

bootstrap的datatable中,自定义了radio,如何通过点击单选获取行数据?

我的前端时bootstrap和jquery,后端是django。我在前端通过ajax获取后端的json,在datatable中显示,同时,在datatable的第一列中,自定义为
radio单选框。
我的需求:点击第一列的单选框,获得radio所在行每个单元格的内容。
操作方法:
1)循环生成数据表格显示区的html;第一列定义了radio,有onclik方法;同时定义了ARP_select_radio函数;
2)用$('#tbody_ID').html(str)方法将生成的字符串写入表格数据区(tbody)。以下是代码

 for(var i = 0;i <(Object.keys(json_arp['IP']).length); i++)
                       {
                        str =str + "<tr id ='ARP_table'>" +
                            "<td><input type = 'radio'  name = 'ARP_select' id ='aaa'  onclick = 'ARP_select_radio' ></td>" + 
                            "<td>" + json_arp['Num'][i] + "</td>" +
                           .......
                            "<td>" + json_arp['collect_time'][i] + "</td>" +                            
                            "</tr>";
                        
                       }  
                       $("#arp_list").html(str);    
              

故障描述:
点击了radio无反应(chrome也没报错),感觉是click事件没有与rido绑定。百度了一下,好像是我用jq生成的表格属于未来元素,常规方法不妥。
请教各位:
1)我的ridio绑定事件应当怎么写?
2)如何点击ridio后得到本行的单元格数据?

  • 写回答

1条回答 默认 最新

  • 「已注销」 2023-01-20 16:50
    关注

    若对您的问题有帮助,望采纳

    1.您可以使用 jQuery 的 on() 方法来绑定单选框的 click 事件,而不是使用 onclick 属性。

    例如:

    $(document).on("click", "#arp_list input[type='radio']", function(){
        // 您的代码
    });
    

    这样的话,即使是未来元素,事件也可以正常绑定

    2.可以使用 jQuery 的 closest() 方法来获取到点击单选框所在的行,然后使用 find() 方法来获取到该行中所有的单元格
    例如

    $(document).on("click", "#arp_list input[type='radio']", function(){
        var $row = $(this).closest("tr");
        var $cells = $row.find("td");
        // 您可以在这里遍历 $cells 数组来获取每个单元格的内容
    });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月29日
  • 已采纳回答 1月21日
  • 修改了问题 1月20日
  • 创建了问题 1月20日

悬赏问题

  • ¥30 写segy数据时出错3
  • ¥100 linux下qt运行QCefView demo报错
  • ¥50 F1C100S下的红外解码IR_RX驱动问题
  • ¥15 用Matlab实现图中的光线追迹
  • ¥15 联想笔记本开机出现系统更新界面
  • ¥15 各位帮帮我 我不想重做系统
  • ¥30 微信小程序蓝牙数据透传
  • ¥15 加氢站氢负荷数据集来源
  • ¥15 umi接入sentry遇到问题
  • ¥15 HBuilderX打包H5网页,扫码模块无法使用