news 2026/2/25 6:29:47

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进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/18 21:23:34

一键部署EmotiVoice:Docker镜像使用完全手册

一键部署 EmotiVoice&#xff1a;Docker 镜像使用完全手册 在虚拟偶像直播中突然需要一段新台词配音&#xff0c;游戏开发者想让 NPC 感叹“哇&#xff01;这宝藏太棒了&#xff01;”时语气更惊喜一些&#xff0c;或者教育类 App 希望朗读课文时能带有适当的情感起伏——这些场…

作者头像 李华
网站建设 2026/2/24 5:29:12

基于java+ vue畅游游戏销售管理系统(源码+数据库+文档)

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

作者头像 李华
网站建设 2026/2/19 7:28:39

基于springboot + vue酒店预订系统(源码+数据库+文档)

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

作者头像 李华
网站建设 2026/2/24 4:19:07

企业级语音解决方案新秀:EmotiVoice商业应用前景

企业级语音解决方案新秀&#xff1a;EmotiVoice商业应用前景 在智能客服越来越“懂你”的今天&#xff0c;一句冰冷的“您好&#xff0c;欢迎致电”&#xff0c;或许已经无法满足用户对服务温度的期待。当用户因订单延迟而焦急时&#xff0c;系统若能以温和、歉意的语调回应&am…

作者头像 李华
网站建设 2026/2/18 10:59:20

2026毕设ssm+vue基于框架的人力资源管理系统论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景随着互联网技术的迅速发展&#xff0c;动漫文化在全球范围内日益流行&#xff0c;尤其在年轻群体中具有广泛影响力。国内动漫产…

作者头像 李华
网站建设 2026/2/25 6:01:54

EmotiVoice模型镜像下载及本地部署详细教程

EmotiVoice模型镜像下载及本地部署详细教程 在语音交互日益普及的今天&#xff0c;用户对“声音”的要求早已超越了“能听清”这一基本标准。从智能音箱到虚拟主播&#xff0c;从有声书平台到游戏NPC对话系统&#xff0c;大家期待的是富有情感、自然流畅、甚至带有熟悉音色的声…

作者头像 李华