给jqGrid数据行添加修改和删除操作链接

简介: 我这里用的不是jqGrid的自带的编辑和删除操作,我已经把分页导航栏下的编辑,删除,搜索都取消掉了,就是这句$("#list1").navGrid("#pager1",{edit:false,del:false, search:false}), 然后在数据加载完成后,给每行添加了 修改和删除链接 jqGrid完成的事件是gridComplete:function(){}(可以理解为数据都准备好了), 因为从数据库获取到的json数据没有带修改和删除两项,所以在之后的处理就是,在gridComplete事件中循环为每一行添加这两个链接,并且都给他们加上了onclick事件。

我这里用的不是jqGrid的自带的编辑和删除操作,我已经把分页导航栏下的编辑,删除,搜索都取消掉了,就是这句$("#list1").navGrid("#pager1",{edit:false,del:false, search:false}), 然后在数据加载完成后,给每行添加了 修改和删除链接

jqGrid完成的事件是gridComplete:function(){}(可以理解为数据都准备好了), 因为从数据库获取到的json数据没有带修改和删除两项,所以在之后的处理就是,在gridComplete事件中循环为每一行添加这两个链接,并且都给他们加上了onclick事件。先看截图:

修改的操作使用了jquery ui 的 dialog弹窗, 运行效果如下:(图上弹出的alert框是我点击确定按钮后弹出的,也就是说要修改数据,在这个确定按钮事件中进行)

页面代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jqGrid的JSON数据显示</title>
<style type="text/css">
body
{font-size:12px;}
</style>
<link href="../css/redmond/jquery-ui-1.8.14.custom.css" rel="Stylesheet" />
<link href="../css/ui.jqgrid.css" rel="Stylesheet" />
<script type="text/javascript" src="../js/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="../js/jquery-ui-1.8.14.custom.min.js"></script>
<script type="text/javascript" src="../js/grid.locale-cn.js"></script>
<script type="text/javascript" src="../js/jquery.jqGrid.min.js"></script>
<script type="text/javascript">
function Modify(id) { //单击修改链接的操作
var model = jQuery("#list1").jqGrid('getRowData', id);
//alert(model.Id);
$("#txtCityCode").val(model.Code);
$(
"#txtCityName").val(model.Name);
$(
"#txtFID").val(model.Fid);
$(
"#modifyform").dialog({
height:
230,
width:
400,
resizable:
false,
modal:
true, //这里就是控制弹出为模态
buttons:{
"确定":function(){
alert(
"在这里对数据进行修改!");
$(
this).dialog("close");
},
"取消":function(){$(this).dialog("close");}
}
});
}
function Delete(id) { //单击删除链接的操作
alert("在这里执行异步删除操作,此时点击了id为 "+id+" 的行!");
}
$(document).ready(
function(){
$(
"#list1").jqGrid({
url:
'JsonDataHandler2.aspx',
datatype:
"json",
mtype:
'GET',
height:
200,
colNames:[
'编号','城市编号','城市名称','所属省份编号','修改','删除'], //注意在colNames和colModel中都不要忘记加修改和删除这两列
colModel:[
{name:
'Id',index:'Id',width:55},
{name:
'Code',index:'Code',width:100},
{name:
'Name',index:'Name',width:180, sortable:false},
{name:
'Fid',index:'Fid',width:180},
{name:
'Modify',index:'Id',width:80,align:"center",sortable:false},
{name:
'Delete',index:'Id',width:80,align:'center',sortable:false}
],
//autowidth:true,
jsonReader:{
page:
"page",
total:
"total",
repeatitems:
false,
id:
"Id"
},
pager:jQuery(
'#pager1'),
rowNum:
20,
rowList:[
10,20,30],
sortname:
'Id',
sortorder:
'asc',
viewrecords:
true,
caption:
'jqGrid使用JSON数据测试',
gridComplete:
function(){ //在此事件中循环为每一行添加修改和删除链接
var ids=jQuery("#list1").jqGrid('getDataIDs');
for(var i=0; i<ids.length; i++){
var id=ids[i];
modify
= "<a href='#' style='color:#f60' onclick='Modify(" + "\"" + id + "\""+ ")'>修改</a>"; //这里的onclick就是调用了上面的javascript函数 Modify(id)
del = "<a href='#' style='color:#f60' onclick='Delete(" + "\""+ id + "\"" + ")' >删除</a>";
jQuery(
"#list1").jqGrid('setRowData', ids[i], { Modify: modify, Delete: del });
}
}
}).navGrid(
"#pager1",{edit:false,add:false,del:false,search:false});

});
</script>
</head>
<body>
<table id="list1"></table>
<div id="pager1"></div>
<div id="modifyform" title="修改城市资料" style="display:none;"> <!-- 该Div的作用就是当点击jqGrid表格中的修改链接时弹出的dialog, 注意是在上面的Modify(id)函数中给下面的input赋值 -->
<p>城市编号:<input type="text" id="txtCityCode" /></p>
<p>城市名称:<input type="text" id="txtCityName" /></p>
<p>所属省份编号:<input type="text" id="txtFID" /></p>
</div>
</body>
</html>
 
目录
相关文章
|
6月前
|
JavaScript
jqgrid清空表格
jqgrid清空表格
28 0
|
存储 JavaScript
原生js本地存储、获取、删除、清空
原生js本地存储、获取、删除、清空
277 0
|
5月前
|
JSON JavaScript 数据格式
Elementui Tree 树形控件,将勾选选中的值放在list集合里面提交
Elementui Tree 树形控件,将勾选选中的值放在list集合里面提交
39 1
|
6月前
|
JavaScript 前端开发 Java
60jqGrid - 树模式添加数据
60jqGrid - 树模式添加数据
24 0
清空el-form表单数据(整理)
清空el-form表单数据(整理)
|
9月前
|
JavaScript 数据库
js动态添加datagrid表头&批量保存实战研究
最近小编在做项目的时候,遇到了这样一个需求:如下图所示,表头中的"一般"和"优秀"是动态添加的,添加上对应的票数之后,选中多行,单击保存,将动态添加的列数据转换成行保存到数据库中
|
9月前
|
数据采集 JavaScript Python
python爬虫示例,获取主页面链接,次级页面链接通过主页面元素获取从而避免js生成变动的值,保存数据分批次避免数据丢失
python爬虫示例,获取主页面链接,次级页面链接通过主页面元素获取从而避免js生成变动的值,保存数据分批次避免数据丢失
80 0
|
11月前
|
测试技术
Selenium 操作表单元素、行为链、操作Cookie和页面等待
Selenium 操作表单元素、行为链、操作Cookie和页面等待
|
前端开发 JavaScript
前端:js根据CheckBox获得选中行的具体某些列内容(批量操作传多条数据)
前端:js根据CheckBox获得选中行的具体某些列内容(批量操作传多条数据)
142 0
|
JavaScript
jQuery 中使用 DOM 操作节点,对页面中的表格实现增、删、查、改操作
jQuery 中使用 DOM 操作节点,对页面中的表格实现增、删、查、改操作
268 0
jQuery 中使用 DOM 操作节点,对页面中的表格实现增、删、查、改操作

热门文章

最新文章