news 2026/6/15 18:32:19

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/6/15 9:31:41

jQuery EasyUI 数据网格 - 创建复杂工具栏

jQuery EasyUI 数据网格 - 创建复杂工具栏 datagrid 的工具栏&#xff08;toolbar&#xff09;支持非常灵活的布局&#xff0c;可以创建包含多行按钮、分隔线、下拉菜单、搜索框、分页自定义、状态显示等的复杂工具栏。这在实际后台管理系统中非常常见&#xff0c;能让操作区更…

作者头像 李华
网站建设 2026/6/15 5:39:15

jQuery EasyUI 数据网格 - 设置冻结列

jQuery EasyUI 数据网格 - 设置冻结列&#xff08;Frozen Columns&#xff09; 冻结列&#xff08;Frozen Columns&#xff09;是 datagrid 的重要功能&#xff0c;它允许将左侧的部分列“冻结”&#xff0c;在水平滚动表格时这些列始终固定显示&#xff0c;不随内容滚动。非常…

作者头像 李华
网站建设 2026/6/15 11:24:45

唤醒沉睡脑力,轻松高效记忆

你是否曾羡慕过那些记忆力超群的人&#xff1f;他们看一本书似乎只需翻几页&#xff0c;学习新知识像喝水一样轻松&#xff0c;而你却总在遗忘中挣扎&#xff1f;别急着归咎于天赋&#xff0c;科学告诉我们&#xff0c;大脑的潜能远比想象中更强大。三易脑科学&#xff08;深圳…

作者头像 李华
网站建设 2026/6/15 12:17:19

基于springboot + vue在线音乐播放系统(源码+数据库+文档)

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

作者头像 李华
网站建设 2026/6/15 10:25:48

2026毕设ssm+vue基于框架的旅游订票系统论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景&#xff08;≈300 字&#xff09; 关于“动漫&#xff0b;旅游”融合型线上平台的研究&#xff0c;现有成果主要以宏观产业分…

作者头像 李华
网站建设 2026/6/15 10:24:58

EmotiVoice语音缓存机制设计:提升重复内容播放效率

EmotiVoice语音缓存机制设计&#xff1a;提升重复内容播放效率 在如今的AI语音应用中&#xff0c;用户常常会反复听到相同的提示语——“电量不足&#xff0c;请及时充电”、“您有新的消息”或者游戏里NPC那句熟悉的“欢迎光临”。如果每次都需要重新跑一遍完整的神经网络推理…

作者头像 李华