var web960 = {}; web960.debug = function (msg) { if (console) { console.log(msg); } else { alert("debug:" + msg); } }; web960.utils = {}; web960.utils.tools = { nano: function (template, data) { return template.replace(/\{([\w\.]*)\}/g, function (str, key) { var keys = key.split("."), v = data[keys.shift()]; for (var i = 0, l = keys.length; i < l; i++) v = v[keys[i]]; return (typeof v !== "undefined" && v !== null) ? v : ""; }) }, getvalfromjson: function (v, template, defval) { v = v.replace(/\n/, "\\n"); var rv = ""; if (typeof v !== "undefined" && v !== null) { if (typeof v == "string") { v = json.parse(v); } rv = web960.utils.tools.nano(template, v); } else { if (defval != undefined) { rv = defval; } } return rv; }, sort: function (order, sortby) { var ordalpah = (order == 'asc') ? '>' : '<'; var sortfun = new function('a', 'b', 'return a.' + sortby + ordalpah + 'b.' + sortby + '?1:-1'); return sortfun; } }; web960.utils.select = function () { this.config = {}; var namdeom = ""; this.init = function (el, cfg, nam) { this.config = $.extend(this.config, cfg); namdeom = "item"; if (nam != undefined) { namdeom = nam; } var defcfg = this.config; var _this = this; var sall = $('全选').click(function () { _this.selall(true); }); var scancel = $('取消').click(function () { _this.selallcel(); // $("input[type='checkbox'][name='" + namdeom + "']", defcfg.el).attr("checked", false); // if (defcfg.oncel) { // defcfg.oncel($("input[type='checkbox'][name='" + namdeom + "']", defcfg.el)); // } }); var sno = $('反选').click(function () { $("input[type='checkbox'][name='" + namdeom + "']", defcfg.el).each(function () { if ($(this).attr("checked")) { $(this).attr("checked", false); if (defcfg.oncel) { defcfg.oncel($(this)); }; } else { $(this).attr("checked", true); if (defcfg.oncel) { defcfg.onsel($(this)); }; } }); }); var im = $([]).add($('选择:')).add(sall).add($(' - ')).add(scancel).add($(' - ')).add(sno); $(el).empty().append(im); $("input[type='checkbox'][name='" + namdeom + "']", defcfg.el).live("click", function () { if ($(this).attr("checked")) { if (defcfg.oncel) { defcfg.onsel($(this)); }; } else { if (defcfg.oncel) { defcfg.oncel($(this)); }; } }); if (defcfg.lineel) { $(defcfg.lineel).live("click", function (event) { var tr = event.srcelement ? event.srcelement : event.target; if (tr.tagname.touppercase() == "td") { var o = $("input[type='checkbox'][name='" + namdeom + "']", $(this)); if (o.attr("checked")) { o.attr("checked", false); if (defcfg.oncel) { defcfg.oncel(o); }; } else { o.attr("checked", true); if (defcfg.oncel) { defcfg.onsel(o); }; } } }); } }; this.cancelsel = function (v, callback) { var o = $("input[type='checkbox'][name='" + namdeom + "'][value='" + v + "']", this.config.el); o.attr("checked", false); if (this.config.oncel) { this.config.oncel(o); }; callback(); }; this.selall = function (v) { $("input[type='checkbox'][name='" + namdeom + "']", this.config.el).attr("checked", v); if (this.config.onsel && v) { this.config.onsel($("input[type='checkbox'][name='" + namdeom + "']", this.config.el)); } }; this.selallcel = function () { $("input[type='checkbox'][name='" + namdeom + "']", this.config.el).attr("checked", false); if (this.config.oncel) { this.config.oncel($("input[type='checkbox'][name='" + namdeom + "']", this.config.el)); } }; this.getval = function (callback) { var defcfg = this.config; var strv = ""; var arrayv = []; $("input[type='checkbox'][name='" + namdeom + "']:checked", defcfg.el).each(function () { strv += $(this).val() + ","; arrayv.push($(this).val()); }); strv = strv == "" ? "" : strv.substr(0, strv.length - 1); callback(strv, arrayv); }; }; web960.page = { init: function (el, cfg, loaddata) { var defcfg = { totalcount: 0, page: 1, psize: 20 }; defcfg = $.extend(defcfg, cfg); var pagecount = math.ceil(defcfg.totalcount / defcfg.psize); var firstpage = $('首页').click(function () { defcfg.page = 1; loaddata(defcfg); }); var prevpage = $('上一页').click(function () { defcfg.page = (defcfg.page - 1); loaddata(defcfg); }); var nextpage = $('下一页').click(function () { defcfg.page = (defcfg.page + 1); loaddata(defcfg); }); var lastpage = $('末页').click(function () { defcfg.page = pagecount; loaddata(defcfg); }); var gotopage = $('').val(defcfg.page).on("keypress", function () { if (event.keycode == 13) { var type = "^[0-9]*[1-9][0-9]*$"; var ss = $.trim($(this).val()); var re = new regexp(type); if (ss.match(re) == null) { $(this).val(""); } else { if (parseint(ss) <= pagecount) { defcfg.page = parseint(ss); loaddata(defcfg); } else { $(this).val(""); } } } }); var psizelist = [10, 20, 50, 100]; var psizeselect = $(''); if (jquery.inarray(parseint(defcfg.psize), psizelist) == -1) { psizeselect.append(''); } for (var i = 0; i < psizelist.length; i++) { if (defcfg.psize == psizelist[i]) { psizeselect.append(''); } else { psizeselect.append(''); } } psizeselect.on("change", function () { defcfg.page = 1; defcfg.psize = parseint($(this).val()); loaddata(defcfg); }) var pagerbox = $(''); var al; if (pagecount > 1) { if (defcfg.page == 1) { al = $([]).add('共' + defcfg.totalcount + '条').add('转到').add(gotopage).add('页 共' + pagecount + '页').add('每页显示').add(psizeselect).add(nextpage).add(lastpage); } else if (defcfg.page < pagecount) { al = $([]).add('共' + defcfg.totalcount + '条').add('转到').add(gotopage).add('页 共' + pagecount + '页').add('每页显示').add(psizeselect).add(firstpage).add(prevpage).add(nextpage).add(lastpage); } else if (defcfg.page == pagecount) { al = $([]).add('共' + defcfg.totalcount + '条').add('转到').add(gotopage).add('页 共' + pagecount + '页').add('每页显示').add(psizeselect).add(firstpage).add(prevpage); } } else { al = $([]).add('共' + defcfg.totalcount + '条'); } $(el).empty().append(pagerbox.append(al)); } };