Jquery easyui開(kāi)啟行編輯模式增刪改操作
jQuery EasyUI 框架提供了創(chuàng)建網(wǎng)頁(yè)所需的一切,幫助您輕松建立站點(diǎn)。
easyui 是一個(gè)基于 jQuery 的框架,集成了各種用戶界面插件。
easyui 提供建立現(xiàn)代化的具有交互性的 javascript 應(yīng)用的必要的功能。
使用 easyui,您不需要寫(xiě)太多 javascript 代碼,一般情況下您只需要使用一些 html 標(biāo)記來(lái)定義用戶界面。
HTML 網(wǎng)頁(yè)的完整框架。
easyui 節(jié)省了開(kāi)發(fā)產(chǎn)品的時(shí)間和規(guī)模。
easyui 非常簡(jiǎn)單,但是功能非常強(qiáng)大。
先給大家展示效果圖:


Html代碼:
<table id="dd"> </table>
引入JS文件和CSS樣式
<script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/jquery.easyui.min.js" type="text/javascript"></script>
<link rel="stylesheet"
type="text/css" />
<link rel="stylesheet"
type="text/css" />
<script src="http://www.cnblogs.com/Resources/jquery-easyui-1.2.3/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
var datagrid; //定義全局變量datagrid
var editRow = undefined; //定義全局變量:當(dāng)前編輯的行
datagrid = $("#dd").datagrid({
url: ‘UserCenter.aspx‘, //請(qǐng)求的數(shù)據(jù)源
iconCls: ‘icon-save‘, //圖標(biāo)
pagination: true, //顯示分頁(yè)
pageSize: 15, //頁(yè)大小
pageList: [15, 30, 45, 60], //頁(yè)大小下拉選項(xiàng)此項(xiàng)各value是pageSize的倍數(shù)
fit: true, //datagrid自適應(yīng)寬度
fitColumn: false, //列自適應(yīng)寬度
striped: true, //行背景交換
nowap: true, //列內(nèi)容多時(shí)自動(dòng)折至第二行
border: false,
idField: ‘ID‘, //主鍵
columns: [[//顯示的列
{field: ‘ID‘, title: ‘編號(hào)‘, width: 100, sortable: true, checkbox: true },
{ field: ‘UserName‘, title: ‘用戶名‘, width: 100, sortable: true,
editor: { type: ‘validatebox‘, options: { required: true} }
},
{ field: ‘RealName‘, title: ‘真實(shí)名稱‘, width: 100,
editor: { type: ‘validatebox‘, options: { required: true} }
},
{ field: ‘Email‘, title: ‘郵箱‘, width: 100,
editor: { type: ‘validatebox‘, options: { required: true} }
}
]],
queryParams: { action: ‘query‘ }, //查詢參數(shù)
toolbar: [{ text: ‘添加‘, iconCls: ‘icon-add‘, handler: function () {//添加列表的操作按鈕添加,修改,刪除等
//添加時(shí)先判斷是否有開(kāi)啟編輯的行,如果有則把開(kāi)戶編輯的那行結(jié)束編輯
if (editRow != undefined) {
datagrid.datagrid("endEdit", editRow);
}
//添加時(shí)如果沒(méi)有正在編輯的行,則在datagrid的第一行插入一行
if (editRow == undefined) {
datagrid.datagrid("insertRow", {
index: 0, // index start with 0
row: {
}
});
//將新插入的那一行開(kāi)戶編輯狀態(tài)
datagrid.datagrid("beginEdit", 0);
//給當(dāng)前編輯的行賦值
editRow = 0;
}
}
}, ‘-‘,
{ text: ‘刪除‘, iconCls: ‘icon-remove‘, handler: function () {
//刪除時(shí)先獲取選擇行
var rows = datagrid.datagrid("getSelections");
//選擇要?jiǎng)h除的行
if (rows.length > 0) {
$.messager.confirm("提示", "你確定要?jiǎng)h除嗎?", function (r) {
if (r) {
var ids = [];
for (var i = 0; i < rows.length; i++) {
ids.push(rows[i].ID);
}
//將選擇到的行存入數(shù)組并用,分隔轉(zhuǎn)換成字符串,
//本例只是前臺(tái)操作沒(méi)有與數(shù)據(jù)庫(kù)進(jìn)行交互所以此處只是彈出要傳入后臺(tái)的id
alert(ids.join(‘,‘));
}
});
}
else {
$.messager.alert("提示", "請(qǐng)選擇要?jiǎng)h除的行", "error");
}
}
}, ‘-‘,
{ text: ‘修改‘, iconCls: ‘icon-edit‘, handler: function () {
//修改時(shí)要獲取選擇到的行
var rows = datagrid.datagrid("getSelections");
//如果只選擇了一行則可以進(jìn)行修改,否則不操作
if (rows.length == 1) {
//修改之前先關(guān)閉已經(jīng)開(kāi)啟的編輯行,當(dāng)調(diào)用endEdit該方法時(shí)會(huì)觸發(fā)onAfterEdit事件
if (editRow != undefined) {
datagrid.datagrid("endEdit", editRow);
}
//當(dāng)無(wú)編輯行時(shí)
if (editRow == undefined) {
//獲取到當(dāng)前選擇行的下標(biāo)
var index = datagrid.datagrid("getRowIndex", rows[0]);
//開(kāi)啟編輯
datagrid.datagrid("beginEdit", index);
//把當(dāng)前開(kāi)啟編輯的行賦值給全局變量editRow
editRow = index;
//當(dāng)開(kāi)啟了當(dāng)前選擇行的編輯狀態(tài)之后,
//應(yīng)該取消當(dāng)前列表的所有選擇行,要不然雙擊之后無(wú)法再選擇其他行進(jìn)行編輯
datagrid.datagrid("unselectAll");
}
}
}
}, ‘-‘,
{ text: ‘保存‘, iconCls: ‘icon-save‘, handler: function () {
//保存時(shí)結(jié)束當(dāng)前編輯的行,自動(dòng)觸發(fā)onAfterEdit事件如果要與后臺(tái)交互可將數(shù)據(jù)通過(guò)Ajax提交后臺(tái)
datagrid.datagrid("endEdit", editRow);
}
}, ‘-‘,
{ text: ‘取消編輯‘, iconCls: ‘icon-redo‘, handler: function () {
//取消當(dāng)前編輯行把當(dāng)前編輯行罷undefined回滾改變的數(shù)據(jù),取消選擇的行
editRow = undefined;
datagrid.datagrid("rejectChanges");
datagrid.datagrid("unselectAll");
}
}, ‘-‘],
onAfterEdit: function (rowIndex, rowData, changes) {
//endEdit該方法觸發(fā)此事件
console.info(rowData);
editRow = undefined;
},
onDblClickRow: function (rowIndex, rowData) {
//雙擊開(kāi)啟編輯行
if (editRow != undefined) {
datagrid.datagrid("endEdit", editRow);
}
if (editRow == undefined) {
datagrid.datagrid("beginEdit", rowIndex);
editRow = rowIndex;
}
}
});
});
</script>
以上實(shí)例代碼給大家介紹了Jquery easyui開(kāi)啟行編輯模式增刪改操作的相關(guān)知識(shí),希望對(duì)大家學(xué)習(xí)有所幫助。
- jquery easyui滾動(dòng)條部分設(shè)置介紹
- Jquery EasyUI的添加,修改,刪除,查詢等基本操作介紹
- Jquery下EasyUI組件中的DataGrid結(jié)果集清空方法
- jquery easyui中treegrid用法的簡(jiǎn)單實(shí)例
- JQuery EasyUI 日期控件如何控制日期選擇區(qū)間
- jquery easyui使用心得
- jQuery前端框架easyui使用Dialog時(shí)bug處理
- jQuery+easyui中的combobox實(shí)現(xiàn)下拉框特效
- 輕松學(xué)習(xí)jQuery插件EasyUI EasyUI創(chuàng)建樹(shù)形菜單
- 使用jQuery+EasyUI實(shí)現(xiàn)CheckBoxTree的級(jí)聯(lián)選中特效
相關(guān)文章
基于jQuery實(shí)現(xiàn)掛號(hào)平臺(tái)首頁(yè)源碼
這篇文章主要介紹了基于jQuery實(shí)現(xiàn)掛號(hào)平臺(tái)首頁(yè)源碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
jquery.uploadView 實(shí)現(xiàn)圖片預(yù)覽上傳功能
圖片上傳,網(wǎng)上有好多版本,今天小編給大家分享jquery.uploadView 實(shí)現(xiàn)圖片預(yù)覽上傳功能,感興趣的的朋友一起看看吧2017-08-08
z-blog SyntaxHighlighter 長(zhǎng)代碼無(wú)法換行解決辦法(jquery)
由于我的博客主要是代碼分享,很多貼的代碼,都很長(zhǎng)。很多時(shí)候我都是手動(dòng)給他換行。但是今天實(shí)在是受不了。從網(wǎng)上找個(gè)辦法解決一下2014-11-11
基于JQuery的日期聯(lián)動(dòng)實(shí)現(xiàn)代碼
基于JQuery的日期聯(lián)動(dòng)實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-02-02
jQuery實(shí)現(xiàn)鼠標(biāo)滑過(guò)遮罩并高亮顯示效果
本文為大家詳細(xì)介紹下使用jQuery實(shí)現(xiàn)鼠標(biāo)滑過(guò)遮罩高亮顯示效果,想必這種效果在網(wǎng)上大家都有見(jiàn)到過(guò),下面是具體的示例,感興趣的各位可以參考下哈,希望對(duì)大家有所幫助2013-07-07
基于jquery的用dl模擬實(shí)現(xiàn)可自定義樣式的SELECT下拉列表(已封裝)
通過(guò)dl模擬實(shí)現(xiàn)SELECT下拉列表. 其實(shí)這是項(xiàng)目中要常用到的一個(gè)效果, 于是, 在之前寫(xiě)的基礎(chǔ)上封裝成了一個(gè)插件. 可自定義樣式, 可防止用戶本意劃過(guò)時(shí)觸發(fā)事件.2010-11-11
jQuery插件實(shí)現(xiàn)控制網(wǎng)頁(yè)元素動(dòng)態(tài)居中顯示
這篇文章主要介紹了jQuery插件實(shí)現(xiàn)控制網(wǎng)頁(yè)元素動(dòng)態(tài)居中顯示,實(shí)例分析了jQuery插件的實(shí)現(xiàn)與元素動(dòng)態(tài)顯示的技巧,需要的朋友可以參考下2015-03-03

