easyui使用的人越来越多了,我也是对其情有独钟。
easyui的每个组建,基本上都提供了非常体贴的方法。
可是有时候还会发生不够用的情况。
例如在操作datagrid的时候,需要删除一行。
我们想做一个一行式代码来完成。
datagrid.datagrid("deleteSelectedRow","后台请求地址");
像上面一样可以通过一个方法,传入后台地址后,让前后台同时执行成功。
并且在没有选中行的时候给予提示
这时候就需要我们写一个扩展方法。
写法如下:
1.首先要确定datagrid在jquery扩展在哪个地方?
如API所示 $.fn.datagrid.methods
2.扩展完整写法分享给大家
$.extend($.fn.datagrid.methods, {
/* 删除选中行 */
deleteSelectedRow: function (datagrid, url) {
var row = datagrid.datagrid("getSelected");
if (row == undefined) {
$.messager.show({
title: "系统提示",
msg: "请选择要操作的行",
width: 350,
heigth: 200,
style: {
top: document.body.scrollTop + document.documentElement.scrollTop,
}
});
return;
}
$.messager.confirm("系统提示", "您确定要执行操作吗?", function (key) {
if (key) {
$.ajax({
url: url,
data: { ID: row.ID },
type: "POST",
success: function (data) {
if ($.ajaxRemind(data) == true) {
datagrid.datagrid("reload");
}
}
})
}
});
}
})