关于EasyUI在Datagrid里面将某一列设置为超链接并传递当前行的某一参数传递给打开的对话框。
2014-08-26 19:11
441 查看
今天在写一个web碰到了要做一个阅读页面的需求,在datagrid里面显示每本书的信息,然后最后一列全部显示【开始阅读】。
点击以后打开一个弹出框显示书籍的内容,这就涉及到向dialog传递书本ID的问题。
先解决设置超链接的问题,以下是datagrid的代码:
注意field为OPER的那一列,添加了一个formatter函数,返回一个<a href>,其内容指向一个函数read_dialog,后面的&apos是html里面的单引号的表示方法。
rowData.BOOKID是表示取当前行记录的BOOKID这一列的数据。先来看看加上的效果:
然后来看看刚刚那个read_dialog的处理函数:
这个函数将read_start这个窗口的href的内容改成了readStart.jsp?bookid=bookid2,等于是获取到了当前行的bookid然后传递给了后面的jsp。
那边的jsp只需要这样接收即可:
<%
String str = request.getParameter("bookid");
%>
点击以后打开一个弹出框显示书籍的内容,这就涉及到向dialog传递书本ID的问题。
先解决设置超链接的问题,以下是datagrid的代码:
$('#read1_out').datagrid({ url : 'MyReadServlet?booktype=1', method : 'get', loadMsg: '数据加载中......', columns : [ [ { field : 'BOOKID', title : '教材编号', width : 80, align : 'center' }, { field : 'BOOKNAME', title : '教材名称', width : 80, align : 'center' }, { field : 'COURSEID', title : '课程编号', width : 80, align : 'center' }, { field : 'COURSENAME', title : '课程名称', width : 80, align : 'center' }, { field : 'DISCIPLINENAME', title : '专业名称', width : 80, align : 'center' }, { field : 'FINISH_FLAG', title : '是否完成', width : 40, align : 'center' }, { field : 'OPER', title : '操作', width : 80, align : 'center', formatter:function(value,rowData,rowIndex){ //function里面的三个参数代表当前字段值,当前行数据对象,行号(行号从0开始) var str = "<a href='javascript:void(0)' onclick='read_dialog('" + rowData.BOOKID + "')'>开始阅读</a>"; //return "<a href='javascript:void(0)' onclick='javascript:$('#read_start').dialog('open');'>开始阅读</a>"; return str; }//上面的'是表示的单引号,这是html的转义表示方式。 } ] ], onHeaderContextMenu : function(e, field) { e.preventDefault(); if (!cmenu) { createColumnMenu(); } cmenu.menu('show', { left : e.pageX, top : e.pageY }); } });
注意field为OPER的那一列,添加了一个formatter函数,返回一个<a href>,其内容指向一个函数read_dialog,后面的&apos是html里面的单引号的表示方法。
rowData.BOOKID是表示取当前行记录的BOOKID这一列的数据。先来看看加上的效果:
然后来看看刚刚那个read_dialog的处理函数:
function read_dialog(bookid) { $('#read_start').dialog({ href: 'readStart.jsp?bookid=' + bookid }); $('#read_start').dialog('open'); }
这个函数将read_start这个窗口的href的内容改成了readStart.jsp?bookid=bookid2,等于是获取到了当前行的bookid然后传递给了后面的jsp。
那边的jsp只需要这样接收即可:
<%
String str = request.getParameter("bookid");
%>
相关文章推荐
- 关于easyui datagrid中使用datebox设置默认值的方法
- jquery easyui datagrid.load方法参数传递问题
- easyui-datagrid高度放大或缩小动态设置分页参数
- 利用简单的参数传递来实现单条查询的easyui-datagrid
- jquery easyui datagrid.load方法参数传递问题 .
- 在今天的测试过程中,我刚开始使用get方法传递参数,出现乱码,但是使用post传参数好着的,需要在tomcat的server.xml里面进行设置URIEncoding="UTF-8"即可
- 保存、打开文件时,关于对话框,过滤器等的设置
- 关于 请求参数 传递时 参数字符串里面包含 特殊符号的 解决~
- 【项目实战】---为EasyUI DataGrid的某一动态加载数据列添加超链接,点击超链接触发Onclick方法
- easyUI的datagrid的post请求并传递参数
- 关于在II7里面出现:当前信任级别设置不支持调试 的解决方法
- 关于datagrid 参数传递问题
- 关于在II7里面出现:当前信任级别设置不支持调试 的解决方法
- [C#]使用 C# 代码实现拓扑排序 dotNet Core WEB程序使用 Nginx反向代理 C#里面获得应用程序的当前路径 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法 .Net程序员 初学Ubuntu ,配置Nignix 夜深了,写了个JQuery的省市区三级级联效果
- 小论“关于HTML文件?传递参数=参数值”的“奇路”应用
- DataGrid里面要传两个参数怎么传
- perl 子程序传递参数不同类型变量 设置
- 关于VS2005里面的FormClosing事件内添加对话框后重复执行的问题
- 线裎里面传递参数问题解决方案
- 关于ref,out,params参数的理解(粘贴的源代码,说明在注释里面)