news 2026/5/31 7:10:35

jQuery EasyUI 数据网格 - 扩展编辑器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
jQuery EasyUI 数据网格 - 扩展编辑器

下面直接给你最实用、最常见的扩展编辑器(custom editor)方法,jQuery EasyUI datagrid 支持超级灵活,复制粘贴就能用,领导最爱的“日期选择、联动下拉、数字微调、校验框”全都有!

EasyUI datagrid 默认支持的编辑器类型(直接用 type 就能)

  • texttextbox:普通文本框
  • textarea:多行文本
  • checkbox:复选框(options: {on:1, off:0})
  • validatebox:带校验的文本框(required、email 等)
  • numberbox:数字框(precision 小数位)
  • combobox:下拉框(远程或本地数据)
  • combotree:树形下拉
  • combogrid:网格下拉
  • datebox:日期选择器
  • datetimebox:日期时间选择器
  • numberspinner:数字微调(上下箭头)
  • timespinner:时间微调

方法1:最常用 - 直接用内置扩展编辑器(推荐现在就用,3秒出效果)
结合之前的行内编辑,超级专业!

<tableid="dg"class="easyui-datagrid"title="扩展编辑器示例"style="width:800px;height:400px"data-options="singleSelect:true, fitColumns:true, onClickRow:onClickRow"><thead><tr><thdata-options="field:'id',width:60">ID</th><thdata-options="field:'name',width:120,editor:{type:'validatebox',options:{required:true}}">姓名(必填)</th><thdata-options="field:'age',width:80,editor:{type:'numberbox',options:{min:1,max:120,precision:0}}">年龄</th><thdata-options="field:'birthday',width:120,editor:'datebox'">生日</th><thdata-options="field:'sex',width:80, editor:{type:'combobox',options:{valueField:'value',textField:'text',data:[{value:'',text:''},{value:'',text:''}],required:true}}, formatter:function(v){return v==''?'':'';}">性别</th><thdata-options="field:'salary',width:100,align:'right',editor:{type:'numberspinner',options:{min:1000,max:100000,increment:500}}">薪资(微调)</th><thdata-options="field:'status',width:80,align:'center', editor:{type:'checkbox',options:{on:1,off:0}}, formatter:function(v){return v==1?'启用':'禁用';}">状态</th></tr></thead></table><script>// 行内编辑核心代码(和之前一样)vareditIndex=undefined;functionendEditing(){if(editIndex==undefined){returntrue}if($('#dg').datagrid('validateRow',editIndex)){$('#dg').datagrid('endEdit',editIndex);editIndex=undefined;returntrue;}else{returnfalse;}}functiononClickRow(index){if(editIndex!=index){if(endEditing()){$('#dg').datagrid('selectRow',index).datagrid('beginEdit',index);editIndex=index;}else{$('#dg').datagrid('selectRow',editIndex);}}}</script>

效果:点击行进入编辑,支持必填校验、日期日历、性别下拉、薪资微调、状态复选框,超级流畅!

方法2:自定义扩展新编辑器(比如官方示例的 numberspinner)
如果内置的不够用,你可以自己扩展一个新类型(比如加个 colorslider 颜色选择器)。

// 先扩展 numberspinner 编辑器(官方经典示例)$.extend($.fn.datagrid.defaults.editors,{numberspinner:{init:function(container,options){varinput=$('<input type="text">').appendTo(container);returninput.numberspinner(options);},destroy:function(target){$(target).numberspinner('destroy');},getValue:function(target){return$(target).numberspinner('getValue');},setValue:function(target,value){$(target).numberspinner('setValue',value);},resize:function(target,width){$(target).numberspinner('resize',width);}}});// 在列里直接用 type:'numberspinner'<th data-options="field:'quantity',width:100,editor:{type:'numberspinner',options:{min:1,max:1000}}">数量</th>

方法3:联动编辑器(超级实用!选省份自动加载城市)

// 在 onClickRow 里获取编辑器,实现联动functiononClickRow(index){if(endEditing()){$('#dg').datagrid('selectRow',index).datagrid('beginEdit',index);editIndex=index;varprovEditor=$('#dg').datagrid('getEditor',{index:index,field:'province'});varcityEditor=$('#dg').datagrid('getEditor',{index:index,field:'city'});$(provEditor.target).combobox({onSelect:function(rec){$(cityEditor.target).combobox('reload','get_cities.php?prov_id='+rec.value);}});}}

你现在直接复制方法1到你的页面,刷新就能看到各种高级编辑器效果了!
结合之前的复选框 + 分页 + 行内编辑,完美后台管理系统就齐活了。

想要我给你一个完整的HTML示例(带远程数据 + 多编辑器 + 联动下拉 + 保存校验)?
或者你告诉我你想扩展什么编辑器(比如“颜色选择器”、“文件上传”、“富文本”),我2分钟给你写好自定义代码,复制就能跑!

快说说你现在的需求(比如“要日期+时间选择器”或“联动下拉”),我手把手帮你搞定,5分钟内看到完美扩展效果!

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

ElegantOTA:革命性的异步固件更新解决方案

ElegantOTA&#xff1a;革命性的异步固件更新解决方案 【免费下载链接】AsyncElegantOTA Deprecated: Perform OTAs for ESP8266 / ESP32 Elegantly! Uses AsyncWebServer 项目地址: https://gitcode.com/gh_mirrors/as/AsyncElegantOTA 在现代物联网设备开发中&#xf…

作者头像 李华
网站建设 2026/5/29 16:53:34

.NET Reactor Slayer终极指南:快速掌握免费开源反混淆利器

在当今软件安全领域&#xff0c;.NET程序的保护与反保护已成为开发者必须面对的重要课题。NETReactorSlayer作为一款专门针对Eziriz .NET Reactor混淆方案的开源反混淆工具&#xff0c;以其强大的功能和灵活的配置赢得了广泛赞誉。 【免费下载链接】NETReactorSlayer An open s…

作者头像 李华
网站建设 2026/5/30 0:53:49

企业级项目打包实战:maven-assembly-plugin的5个高级用法

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 为一个多模块电商系统设计打包方案&#xff1a;1)为订单服务模块创建包含所有依赖的tar.gz包 2)为前端模块创建带Nginx配置的zip包 3)生成统一的版本号文件 4)包含自定义的启动脚本…

作者头像 李华
网站建设 2026/5/30 3:29:14

Python萌新必看:模块导入错误的5种解决方法

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个图文并茂的初学者指南&#xff0c;逐步演示&#xff1a;1)如何正确使用pip安装包 2)检查Python路径 3)创建虚拟环境 4)解决权限问题 5)寻求帮助的正确方式。每个步骤都包含…

作者头像 李华
网站建设 2026/5/31 1:15:52

小白必看:如何通过搜索引擎提交入口让网站被快速收录

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个交互式教程应用&#xff0c;逐步引导用户完成网站提交到搜索引擎的过程。功能包括&#xff1a;1. 分步骤指导界面&#xff1b;2. 模拟提交过程演示&#xff1b;3. 常见问题…

作者头像 李华