您的位置:首页 > 其它

dwz富客户端框架列表checkbox功能扩展

2012-04-01 17:19 323 查看
        dwz富客户端框架默认实例有批量删除功能,通过选择checkbox在a标签里加入target="selectedTodo"(如果是dialog里的列表还需要加targetType="dialog")调用dwz.database.js的selectedTodo方法实现。可是它的修改并不是通过选择checkbox来实现, 原来做的项目都是通过选择框来做修改和其他操作,于是在dwz.ui.js扩展了方法

//selectOne

 $("a[target=selectOne]", $p).each(function(){

  

  $(this).click(function(event){

   var $this = $(this);

   var title = $this.attr("title") || $this.text();

   var rel = $this.attr("rel") || "ids";

   

   var targetType = $this.attr("targetType");

   var ids = "";

   var $box = targetType == "dialog" ? $.pdialog.getCurrent() : navTab.getCurrentPanel();

   $box.find("input:checked").filter("[name='"+rel+"']").each(function(i){

    var val = $(this).val();

    ids += i==0 ? val : ","+val;

   });

   if (!ids) {

    alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));

    return false;

   }

   if (ids.indexOf(',')!=-1) {

    alertMsg.error("只能选择一条信息");

    return false;

   }

   

   var options = {};

   var w = $this.attr("width");

   var h = $this.attr("height");

   if (w) options.width = w;

   if (h) options.height = h;

   options.max = eval($this.attr("max") || "false");

   options.mask = eval($this.attr("mask") || "false");

   options.maxable = eval($this.attr("maxable") || "true");

   options.minable = eval($this.attr("minable") || "true");

   options.fresh = eval($this.attr("fresh") || "true");

   options.resizable = eval($this.attr("resizable") || "true");

   options.drawable = eval($this.attr("drawable") || "true");

   options.close = eval($this.attr("close") || "");

   options.param = $this.attr("param") || "";

   var url = unescape($this.attr("href")).replaceTmById($(event.target).parents(".unitBox:first"));

   url = url + "?id="+ids;

   

   DWZ.debug(url);

   if (!url.isFinishedTm()) {

    alertMsg.error($this.attr("warn") || DWZ.msg("alertSelectMsg"));

    return false;

   }

   $.pdialog.open(url, rel, title, options);

   

   return false;

  });

 })

这样在a标签里加入target="selectOne"就可以判断是否选择checkbox和只选择了一个checkbox,做相应操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息