当前位置: 首页 > news >正文

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)获取选中节点,请继续提问!

http://www.rkmt.cn/news/115097.html

相关文章:

  • 2025年最新电线/防火/矿用/控制/计算机线缆厂家推荐TOP5:津达线缆领衔北方制造,赋能国家级工程 - 深度智识库
  • 基于springboot + vue酒店预订系统(源码+数据库+文档)
  • AA精通BTC第3版精读02
  • 羊驼毛制品的优缺点
  • LobeChat法律咨询原型:专业领域问答系统的构建
  • 基于springboot + vue律师咨询系统(源码+数据库+文档)
  • 基于springboot + vue在线音乐播放系统(源码+数据库+文档)
  • jQuery EasyUI 数据网格 - 格式化列
  • jQuery EasyUI 布局 - 创建折叠面板
  • 多模态特征强行拼接崩了 补交叉注意力才稳住肺癌诊断模型
  • jQuery EasyUI 布局 - 创建标签页(Tabs)
  • 简历美化vs职业欺诈:员工背景调查如何识别关键风险信号
  • EmotiVoice实战指南:如何在项目中集成高表现力TTS
  • EmotiVoice语音合成情感渐变功能:从平静到激动平滑过渡
  • Java堆排序
  • 2.3 第一次AI寒冬(1974-1980):计算瓶颈、明斯基的批判与资金撤退
  • EmotiVoice让聋哑人‘听见’文字背后的情绪变化
  • 拒绝复杂!线上业务流程管理:中小团队首选工具推荐
  • jQuery EasyUI 布局 - 动态添加标签页(Tabs)
  • 2025年度国产磁悬浮风机核心技术指标实测排名与架构解析报告
  • 电商网站Nginx部署实战:高并发场景优化方案
  • EmotiVoice语音合成系统日志记录与监控方案设计
  • h5嵌入鸿蒙跳转支付宝支付,报错:Syntax error:JSON Parse error:Expected ‘}‘
  • 2025年天坛装修公司深度解析:全链路供应链优势与口碑表现双优 - 品牌推荐
  • 企业IT运维实战:用快马平台批量部署Windows清洁方案
  • 对比:传统清理工具vs现代AI清理方案
  • AI如何帮你快速定位Java项目路径?
  • 《60天AI学习计划启动 | Day 39: Agent 执行过程可视化(思考 / 工具 / 观察 / 回答》
  • CentOS 9 vs RHEL 9:性能与效率全面对比
  • EmotiVoice能否生成带有口音特色的角色语音?