konakona
简单添加DWZ框架TABLE顶部快捷功能
简单添加DWZ框架TABLE顶部快捷功能

https://blog.img.crazyphper.com/2010/05/1231-150x150.jpg

如图,目前DWZ还不具备象EXTJS、jQuery EasyUI那种功能。

所以我们要手动实现,而且我认为DWZ自由度很大,一定程度上让开发者有很强的自主权。

虽然EXTJS、jQuery EasyUI提供了很健全的插件,但其复杂程度,也使开发人员不那么容易上手。

且都是国外的框架,不会英文的朋友就苦了。想提交bug的人也不容易,与作者交流起来也不方便。

DWZ是国产框架,难能可贵,我们要支持。
猛击查看demo地址

好,不多说,进入正题,其实还有很多值得拿来讨论的话题,不过DWZ官方小组也正在努力丰富这套框架,所以基本上前几天跟他们说的问题和建议,下一个版本马上就能补上,也就没有太多必要自己动手了,挺好的。

以“删除”功能为例,代码如下:

<li><a href="javascript:void(0)" onclick="del('<?php echo base_url();?>admin/guestbook/del/')"><span>删除</span></a></li>

del()方法我用最传统的方式书写:

function del(url){
var Obj = jQuery("input[class='artId']");
var id = '';
Obj.each(function(){
if(jQuery(this).attr('checked')==true){
id += this.value+"-";
}
});
if(id==''){
alertMsg.error(id+'请至少选择一个内容后继续');
return false;
}
alertMsg.confirm("确定要删除吗?", {
okCall: function(){
url = url+id;
$.post(url, '', DWZ.ajaxDone, "json");  //注意,要写为DWZ.ajaxDone 而不是ajaxDone
navTab.reload();  //重新刷新本nav页面
}
});
}

解释一下,就是在点击超链接时,执行这个方法,首先将本页面上所有class为’artId’的元素,通过each函数,循环给变量‘id’,我这里采用的数据格式大概是’2-4-5-6-7-9-12’这样的,数字就是id(废话)。

将获得的id给变量url,凑成网址,大概是这样:’http://www.xxx.com/c/m/del/2-4-5-6-7-9-12′

然后通过$.post(url, ”, DWZ.ajaxDone, “json”);  ajax方式传递给PHP控制器。

PHP控制器代码大致如下:

/**
* 删除$id的留言
* @paremt int $id
*/
function del($id){
$ids = explode("-",$id);
foreach($ids as $k=>$v){
if($v=='') continue;
$this->db->delete('guestbook', array('id' => intval($v)));
}
$this->dwz->formSubmitJson("200","删除成功","","admin/guestbook/index/");
}

$this->dwz->formSubmitJson()是一个我用来与DWZ配合的类。

大致封装了如下代码:

/**
* 返回AJAX提交表单后的JSON
* $callbackType 默认的参数"closeCurrent"可以用于关闭当前窗体,为空时跳转到$forwardUrl的网址。
* 成功返回格式:{"statusCode":"200", "message":"操作成功", "navTabId":"navNewsLi", "forwardUrl":"", "callbackType":"closeCurrent"}
* 失败返回格式:{"statusCode":"300", "message":"操作失败"}
*/
function formSubmitJson($statusCode,$message,$navTabId="",$forwardUrl="",$callbackType="closeCurrent"){
$returnType['statusCode'] =  $statusCode;
$returnType['message'] = $message;
$returnType['navTabId'] = $navTabId;
$returnType['callbackType'] = $callbackType;
die(json_encode($returnType));
}

重用性高,简单。

欢迎大家拍砖。

小生继续琢磨DWZ。

赞赏
没有标签
首页      程序开发      前端技术      简单添加DWZ框架TABLE顶部快捷功能
https://secure.gravatar.com/avatar/3b712b34a0e1b689cfb524c9c6bcdc47?s=256&r=g

团哥

文章作者

继续玩我的CODE,让别人说去。 低调,就是这么自信。

发表评论

textsms
account_circle
email

konakona

简单添加DWZ框架TABLE顶部快捷功能
博主似乎很喜欢发小技巧的文章~= =摁~~要赶紧锻炼~发些真正大原窗技术大文~!~!哼哼
扫描二维码继续阅读
2010-05-30