- jQuery EasyUI 教程
- jQuery EasyUI 简介
- jQuery EasyUI 应用 – 创建 CRUD 应用
- jQuery EasyUI 应用 – 创建 CRUD 数据网格
- jQuery EasyUI 应用 – 创建展开行明细编辑表单的 CRUD 应用
- jQuery EasyUI 应用 – 创建 RSS Feed 阅读器
- jQuery EasyUI 拖放 – 基本的拖动和放置
- jQuery EasyUI 拖放 – 创建拖放的购物车
- jQuery EasyUI 拖放 – 创建学校课程表
- jQuery EasyUI 菜单与按钮 – 创建简单的菜单
- jQuery EasyUI 菜单与按钮 – 创建链接按钮
- jQuery EasyUI 菜单与按钮 – 创建菜单按钮
- jQuery EasyUI 菜单与按钮 – 创建分割按钮
- jQuery EasyUI 布局 – 为网页创建边框布局
- jQuery EasyUI 布局 – 在面板中创建复杂布局
- jQuery EasyUI 布局 – 创建折叠面板
- jQuery EasyUI 布局 – 创建标签页(Tabs)
- jQuery EasyUI 布局 – 动态添加标签页(Tabs)
- jQuery EasyUI 布局 – 添加自动播放标签页(Tabs)
- jQuery EasyUI 布局 – 创建 XP 风格左侧面板
- jQuery EasyUI 数据网格 – 转换 HTML 表格为数据网格
- jQuery EasyUI 数据网格 – 取得选中行数据
- jQuery EasyUI 数据网格 – 添加查询功能
- jQuery EasyUI 数据网格 – 添加工具栏
- jQuery EasyUI 数据网格 – 创建复杂工具栏
- jQuery EasyUI 数据网格 – 设置冻结列
- jQuery EasyUI 数据网格 – 动态改变列
- jQuery EasyUI 数据网格 – 格式化列
- jQuery EasyUI 数据网格 – 设置排序
- jQuery EasyUI 数据网格 – 自定义排序
- jQuery EasyUI 数据网格 – 创建列组合
- jQuery EasyUI 数据网格 – 添加复选框
- jQuery EasyUI 数据网格 – 自定义分页
- jQuery EasyUI 数据网格 – 启用行内编辑
- jQuery EasyUI 数据网格 – 扩展编辑器
- jQuery EasyUI 数据网格 – 列运算
- jQuery EasyUI 数据网格 – 合并单元格
- jQuery EasyUI 数据网格 – 创建自定义视图
- jQuery EasyUI 数据网格 – 创建页脚摘要
- jQuery EasyUI 数据网格 – 条件设置行背景颜色
- jQuery EasyUI 数据网格 – 创建属性网格
- jQuery EasyUI 数据网格 – 扩展行显示细节
- jQuery EasyUI 数据网格 – 创建子网格
- jQuery EasyUI 数据网格 – 使用虚拟滚动视图显示海量数据
- jQuery EasyUI 数据网格 – 添加分页组件
- jQuery EasyUI 窗口 – 创建简单窗口
- jQuery EasyUI 窗口 – 自定义窗口工具栏
- jQuery EasyUI 窗口 – 窗口与布局
- jQuery EasyUI 窗口 – 创建对话框
- jQuery EasyUI 窗口 – 自定义带有工具条和按钮的对话框
- jQuery EasyUI 树形菜单 – 使用标记创建树形菜单
- jQuery EasyUI 树形菜单 – 创建异步树形菜单
- jQuery EasyUI 树形菜单 – 树形菜单添加节点
- jQuery EasyUI 树形菜单 – 创建带复选框的树形菜单
- jQuery EasyUI 树形菜单 – 树形菜单拖放控制
- jQuery EasyUI 树形菜单 – 树形菜单加载父/子节点
- jQuery EasyUI 树形菜单 – 创建基础树形网格
- jQuery EasyUI 树形菜单 – 创建复杂树形网格
- jQuery EasyUI 树形菜单 – 树形网格动态加载
- jQuery EasyUI 树形菜单 – 树形网格添加分页
- jQuery EasyUI 树形菜单 – 树形网格惰性加载节点
- jQuery EasyUI 表单 – 创建异步提交表单
- jQuery EasyUI 表单 – 表单验证
- jQuery EasyUI 表单 – 创建树形下拉框(ComboTree)
- jQuery EasyUI 表单 – 格式化下拉框(ComboBox)
- jQuery EasyUI 表单 – 过滤下拉数据网格(ComboGrid)
- jQuery EasyUI 插件
- jQuery EasyUI 扩展
- jQuery EasyUI 教程
- jQuery EasyUI 扩展 – 可编辑的数据网格
- jQuery EasyUI 基础插件 – Parser 解析器
- jQuery EasyUI 数据网格与树插件 – Treegrid 树形网格
- jQuery EasyUI 基础插件 – Easyloader 加载器
- jQuery EasyUI 基础插件 – Draggable 可拖拽
- jQuery EasyUI 基础插件 – Droppable 可释放
- jQuery EasyUI 基础插件 – Resizable 可调整尺寸
- jQuery EasyUI 基础插件 – Pagination 分页
- jQuery EasyUI 基础插件 – Searchbox 搜索框
- jQuery EasyUI 基础插件 – Progressbar 进度条
- jQuery EasyUI 基础插件 – Tooltip 提示框
- jQuery EasyUI 布局插件 – Panel 面板
- jQuery EasyUI 布局插件 – Tabs 标签页/选项卡
- jQuery EasyUI 布局插件 – Accordion 折叠面板
- jQuery EasyUI 布局插件 – Layout 布局
- jQuery EasyUI 菜单与按钮插件 – Menu 菜单
- jQuery EasyUI 菜单与按钮插件 – Linkbutton 链接按钮
- jQuery EasyUI 菜单与按钮插件 – Menubutton 菜单按钮
- jQuery EasyUI 菜单与按钮插件 – Splitbutton 分割按钮
- jQuery EasyUI 表单插件 – Form 表单
- jQuery EasyUI 表单插件 – Validatebox 验证框
- jQuery EasyUI 表单插件 – Combobox 组合框
- jQuery EasyUI 表单插件 – Combotree 组合树
- jQuery EasyUI 表单插件 – Combogrid 组合网格
- jQuery EasyUI 表单插件 – Numberbox 数字框
- jQuery EasyUI 表单插件 – Datebox 日期框
- jQuery EasyUI 表单插件 – Datetimebox 日期时间框
- jQuery EasyUI 表单插件 – Calendar 日历
- jQuery EasyUI 表单插件 – Spinner 微调器
- jQuery EasyUI 表单插件 – Numberspinner 数值微调器
- jQuery EasyUI 表单插件 – Timespinner 时间微调器
- jQuery EasyUI 表单插件 – Slider 滑块
- jQuery EasyUI 窗口插件 – Window 窗口
- jQuery EasyUI 窗口插件 – Dialog 对话框
- jQuery EasyUI 窗口插件 – Messager 消息框
- jQuery EasyUI 数据网格与树插件 – Datagrid 数据网格
- jQuery EasyUI 数据网格与树插件 – Propertygrid 属性网格
- jQuery EasyUI 数据网格与树插件 – Tree 树
- jQuery EasyUI 扩展 – Portal
- jQuery EasyUI 扩展 – 数据网格视图
- jQuery EasyUI 扩展 – 可编辑的树
- jQuery EasyUI 扩展 – 数据网格行过滤
- jQuery EasyUI 扩展 – 数据网格行拖放
- jQuery EasyUI 扩展 – 树形网格行拖放
- jQuery EasyUI 扩展 – 主题
- jQuery EasyUI 扩展 – DWR 加载器
- jQuery EasyUI 扩展 – RTL 支持
- jQuery EasyUI 扩展 – Ribbon
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
jQuery EasyUI 应用 – 创建展开行明细编辑表单的 CRUD 应用
pre { white-space: pre-wrap; }
当切换数据网格视图(datagrid view)到 'detailview',用户可以展开一行来显示一些行的明细在行下面。这个功能允许您为防止在明细行面板(panel)中的编辑表单(form)提供一些合适的布局(layout)。在本教程中,我们使用数据网格(datagrid)组件来减小编辑表单(form)所占据空间。
步骤 1:在 HTML 标签中定义数据网格(DataGrid)
<table id="dg" title="My Users" url="get_users.php" toolbar="#toolbar" fitColumns="true" singleSelect="true"> <thead> <tr> <th field="firstname" width="50">First Name</th> <th field="lastname" width="50">Last Name</th> <th field="phone" width="50">Phone</th> <th field="email" width="50">Email</th> </tr> </thead> </table> <div id="toolbar"> <a href="#" iconCls="icon-add" plain="true" onclick="newItem()">New</a> <a href="#" iconCls="icon-remove" plain="true" onclick="destroyItem()">Destroy</a> </div>
步骤 2:为数据网格(DataGrid)应用明细视图
$('#dg').datagrid({ view: detailview, detailFormatter:function(index,row){ return '<div></div>'; }, onExpandRow: function(index,row){ var ddv = $(this).datagrid('getRowDetail',index).find('div.ddv'); ddv.panel({ border:false, cache:true, href:'show_form.php?index='+index, onLoad:function(){ $('#dg').datagrid('fixDetailRowHeight',index); $('#dg').datagrid('selectRow',index); $('#dg').datagrid('getRowDetail',index).find('form').form('load',row); } }); $('#dg').datagrid('fixDetailRowHeight',index); } });
为了为数据网格(DataGrid)应用明细视图,在 html 页面头部引入 'datagrid-detailview.js' 文件。
我们使用 'detailFormatter' 函数来生成行明细内容。 在这种情况下,我们返回一个用于放置编辑表单(form)的空的 <div>。 当用户点击行展开按钮('+')时,'onExpandRow' 事件将被触发,我们将通过 ajax 加载编辑表单(form)。 调用 'getRowDetail' 方法来得到行明细容器,所以我们能查找到行明细面板(panel)。 在行明细中创建面板(panel),加载从 'show_form.php' 返回的编辑表单(form)。
步骤 3:创建编辑表单(Form)
编辑表单(form)是从服务器加载的。
show_form.php<form method="post"> <table> <tr> <td>First Name</td> <td><input name="firstname" required="true"></input></td> <td>Last Name</td> <td><input name="lastname" required="true"></input></td> </tr> <tr> <td>Phone</td> <td><input name="phone"></input></td> <td>Email</td> <td><input name="email" validType="email"></input></td> </tr> </table> <div> <a href="#" iconCls="icon-save" plain="true" onclick="saveItem(<?php echo $_REQUEST['index'];?>)">Save</a> <a href="#" iconCls="icon-cancel" plain="true" onclick="cancelItem(<?php echo $_REQUEST['index'];?>)">Cancel</a> </div> </form>
步骤 4:保存或取消编辑
调用 'saveItem' 函数来保存一个用户或者调用 'cancelItem' 函数来取消编辑。
function saveItem(index){ var row = $('#dg').datagrid('getRows')[index]; var url = row.isNewRecord ? 'save_user.php' : 'update_user.php?id='+row.id; $('#dg').datagrid('getRowDetail',index).find('form').form('submit',{ url: url, onSubmit: function(){ return $(this).form('validate'); }, success: function(data){ data = eval('('+data+')'); data.isNewRecord = false; $('#dg').datagrid('collapseRow',index); $('#dg').datagrid('updateRow',{ index: index, row: data }); } }); }
决定要回传哪一个 URL,然后查找表单(form)对象,并调用 'submit' 方法来提交表单(form)数据。当保存数据成功时,折叠并更新行数据。
function cancelItem(index){ var row = $('#dg').datagrid('getRows')[index]; if (row.isNewRecord){ $('#dg').datagrid('deleteRow',index); } else { $('#dg').datagrid('collapseRow',index); } }
当取消编辑动作时,如果该行是新行而且还没有保存,直接删除该行,否则折叠该行。
下载 jQuery EasyUI 实例
jeasyui-app-crud3.zip
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论