news 2026/7/7 18:50:45

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/7/7 7:22:36

基于java + vue旅游网系统(源码+数据库+文档)

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

作者头像 李华
网站建设 2026/7/7 6:28:04

2026毕设ssm+vue基于框架的青岛青年驿站系统的设计与实现论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景关于动漫文章管理系统的研究&#xff0c;现有研究主要以传统动漫论坛和简单的内容展示平台为主&#xff0c;专门针对基于SSMVU…

作者头像 李华
网站建设 2026/7/7 13:12:23

2026毕设ssm+vue基于框架的宿舍管理系统论文+程序

本系统&#xff08;程序源码&#xff09;带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、选题背景随着高校学生人数的不断增加&#xff0c;宿舍管理工作日益复杂&#xff0c;传统的人工管理方式已难以满足现代化、信息化管理的…

作者头像 李华
网站建设 2026/7/7 11:28:02

Python中同步MySQL驱动对比

在 Python 中&#xff0c;常用的 MySQL 驱动主要包括 mysqlclient、PyMySQL 和 mysql-connector-python&#xff0c;它们在性能、安装复杂度、兼容性和功能支持上各有差异&#xff0c;以下是具体分析&#xff1a; 1. mysqlclient&#xff08;推荐性能优先场景&#xff09; 定位…

作者头像 李华
网站建设 2026/7/7 6:47:47

jQuery EasyUI 布局 - 为网页创建边框布局

jQuery EasyUI 布局 - 为网页创建边框布局&#xff08;Border Layout&#xff09; jQuery EasyUI 的 layout 组件是最常用的布局插件之一&#xff0c;它可以将整个页面&#xff08;或某个容器&#xff09;分为五个区域&#xff1a;north&#xff08;北&#xff09;、south&…

作者头像 李华
网站建设 2026/7/7 6:58:29

EmotiVoice让聋哑人‘听见’文字背后的情绪变化

EmotiVoice&#xff1a;让聋哑人“听见”文字背后的情绪 在一场家庭对话中&#xff0c;女儿打字问&#xff1a;“你生气了吗&#xff1f;”母亲回复&#xff1a;“没有。”——这句看似平静的“没有”&#xff0c;如果只是由标准TTS朗读出来&#xff0c;语气平直、毫无波澜&…

作者头像 李华