news 2025/12/19 3:44:11

jQuery EasyUI 数据网格 - 取得选中行数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jQuery EasyUI 数据网格 - 取得选中行数据

jQuery EasyUI 数据网格 - 取得选中行数据

jQuery EasyUIdatagrid中,获取用户选中的行数据是非常常见的操作,用于编辑、删除、查看详情等功能。下面详细介绍几种常用方法,根据单选/多选模式的不同而异。

官方参考:

  • DataGrid 文档:https://www.jeasyui.com/documentation/datagrid.php
  • 获取选中行示例:https://www.jeasyui.com/tutorial/datagrid/datagrid21.php
步骤 1: 创建一个基本的 DataGrid
<tableid="dg"class="easyui-datagrid"title="用户列表"style="width:700px;height:400px"data-options="url:'get_users.php',fitColumns:true,pagination:true,rownumbers:true"><thead><tr><thfield="ck"checkbox="true"></th><!-- 多选时使用复选框 --><thfield="id"width="80">ID</th><thfield="name"width="100">姓名</th><thfield="email"width="200">邮箱</th><thfield="phone"width="120">电话</th></tr></thead></table><!-- 操作按钮 --><divstyle="margin:10px 0;"><ahref="javascript:void(0)"class="easyui-linkbutton"iconCls="icon-edit"onclick="getSelectedRow()">获取单选行</a><ahref="javascript:void(0)"class="easyui-linkbutton"iconCls="icon-sum"onclick="getSelectedRows()">获取多选行</a><ahref="javascript:void(0)"class="easyui-linkbutton"iconCls="icon-tip"onclick="showSelected()">显示选中数据</a></div>
步骤 2: JavaScript 获取选中行数据
<scripttype="text/javascript">varselectedData=null;// 存储选中的数据// 方法1:获取单选模式下的选中行(返回单个对象或 null)functiongetSelectedRow(){varrow=$('#dg').datagrid('getSelected');// 核心方法if(row){selectedData=row;$.messager.alert('选中行','您选中了:'+row.name+' (ID: '+row.id+')');console.log('单选行数据:',row);}else{$.messager.alert('提示','请先选择一行!');}}// 方法2:获取多选模式下的所有选中行(返回数组,可能为空)functiongetSelectedRows(){varrows=$('#dg').datagrid('getSelections');// 核心方法(注意是复数)if(rows.length>0){selectedData=rows;$.messager.alert('选中行数','您共选中了 '+rows.length+' 行');console.log('多选行数据:',rows);}else{$.messager.alert('提示','请至少选择一行!');}}// 方法3:获取选中行的索引(常用于定位)functiongetRowIndex(){varrow=$('#dg').datagrid('getSelected');if(row){varindex=$('#dg').datagrid('getRowIndex',row);// 获取行索引console.log('选中行索引:',index);}}// 示例:显示选中数据(结合上面两种)functionshowSelected(){varrows=$('#dg').datagrid('getSelections');if(rows.length==0){$.messager.alert('提示','没有选中任何行!');return;}varnames=[];for(vari=0;i<rows.length;i++){names.push(rows[i].name);}$.messager.alert('选中用户','您选中了:'+names.join(', '));}// 事件监听:行选中时自动触发(可选)$(function(){$('#dg').datagrid({singleSelect:false,// false 为多选模式(默认 false)// singleSelect: true, // true 为单选模式onSelect:function(index,row){console.log('选中第 '+index+' 行:',row);},onUnselect:function(index,row){console.log('取消选中第 '+index+' 行:',row);},onSelectAll:function(rows){console.log('全选:',rows);},onUnselectAll:function(rows){console.log('取消全选');}});});</script>
关键方法总结
方法返回值说明适用模式
$('#dg').datagrid('getSelected')对象 或 null获取当前单选行(多选模式下只返回最后选中行)单选/多选
$('#dg').datagrid('getSelections')数组(可能为空 [])获取所有选中行(推荐多选时使用)多选优先
$('#dg').datagrid('getRowIndex', row)数字(索引)根据行对象获取其在表格中的索引单选/多选
$('#dg').datagrid('selectRow', index)-程序化选中某行-
$('#dg').datagrid('clearSelections')-清空所有选中-
注意事项
  • 单选模式:设置singleSelect: true,此时getSelected最合适。
  • 多选模式:默认或singleSelect: false,必须加复选框列<th field="ck" checkbox="true"></th>,使用getSelections
  • 事件onSelectonUnselect等可实时监听选中变化。
  • 远程数据:无论数据来自url还是静态表格,这些方法都适用。
实际应用示例
  • 编辑按钮var row = $('#dg').datagrid('getSelected'); if(row){ edit(row.id); }
  • 批量删除var rows = $('#dg').datagrid('getSelections'); if(rows.length>0){ deleteBatch(rows); }

如果需要结合 dialog 编辑选中行、批量操作、或树形网格(treegrid)获取选中节点,请继续提问!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/17 11:04:28

基于springboot + vue律师咨询系统(源码+数据库+文档)

律师咨询系统 目录 基于springboot vue律师咨询系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue律师咨询系统 一、前言 博主介绍&#xff1a;✌…

作者头像 李华
网站建设 2025/12/17 11:04:02

基于springboot + vue动物园管理系统(源码+数据库+文档)

动物园管理系统 目录 基于springboot vue动物园管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue动物园管理系统 一、前言 博主介绍&#x…

作者头像 李华
网站建设 2025/12/17 11:03:57

锐捷RG-AP220-E胖模式配置

SWA配置&#xff1a;CS6200-28X-Pro>ena CS6200-28X-Pro#conf CS6200-28X-Pro(config)#host SWA SWA(config)#vlan 15 SWA(config-vlan15)#int vlan 15SWA(config-if-vlan15)#ip add 192.168.15.1 255.255.255.0 SWA(config-if-vlan15)#exi SWA(config)#service dhcp SWA(co…

作者头像 李华
网站建设 2025/12/17 11:01:40

2026毕设ssm+vue基于框架的临时摊位管理系统论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景随着城市化进程的加快和地摊经济的兴起&#xff0c;摊位管理成为城市治理和便民服务的重要组成部分。现有研究多以传统的人工管…

作者头像 李华
网站建设 2025/12/17 11:01:00

重磅推出!郑老师团队26年22门统计课程,发文即可退款

2022年以来&#xff0c;浙江中医药大学医学统计学郑老师团队已经开设了16门课科研与统计有关的培训课。所有课程都是郑老师团队亲自打磨设计&#xff0c;由浅入深&#xff0c;通俗易懂&#xff0c;深受学员好评&#xff01;12026年科研统计培训计划2025年课程已经接近尾声&…

作者头像 李华