常用 JS 类库 API、js.*、jeesite.js、页签操作
全局常用
/**
* 输出日志
*/
log(msg);
/**
* 输出错误日志
*/
error(msg);
/**
* URL 编码
*/
js.encodeUrl(url);
/**
* URL 解码
*/
js.decodeUrl(url);
/**
* 得到 IE 版本,如果是IE返回:IE版本号,否则返回:false
* if (js.ie && js.ie <= 8){ alert('浏览器版本过低') }
*/
js.ie;
/**
* 安全取值,复杂类型或嵌套类型时,取不到属性中的属性时不抛出异常
* js.val(jsonObj, 'user.office.name');
*/
js.val(jsonObj, attrName);
/**
* 返回HashCode唯一值(默认忽略大小写)
* @param str 要获取的字符串HashCode值
* @param caseSensitive 是否大小写敏感(默认false)
* @usage js.hashCode(str);
*/
js.hashCode(str, caseSensitive);
/**
* 异步加载文件,loadFile v1.0
* js.loadFile(file文件路径, callback成功回调, error失败回调)
* js.loadFile('js/test.js',function(){},function(data){});
* js.loadFile(['js/test.js','css/test.css'],function(){},function(data){});
*/
js.loadFile(file, callback, error);
/**
* 打开一个Window窗体
*/
js.windowOpen(url, name, width, height);
/**
* 关闭当前Window窗体
*/
js.windowClose();
/**
* 给URL地址添加参数,如果原来有参数则用&前缀,如果没有则用?前缀
*/
js.addParam(url, params);
/**
* 获取URL地址的参数
*/
js.getParam(paramName, url);
/**
* 移除URL地址里的某个参数
*/
js.removeParam(paramName, url);
/**
* 查看Object的内容,手机调试用
* @param obj
*/
js.alertObj(obj);
国际化、字典
/**
* 获取国际化译文
*/
js.text(code, params);
/**
* 获取字典标签
* js.getDictLabel(${@DictUtils.getDictListJson('sys_menu_type')}, val, '未知', true)
*/
js.getDictLabel(dictListJson, value, defaultValue, inCss);
加载框、弹窗
/**
* 显示加载框
* @param message 加载框提示信息
* @param ignoreMessageIfExists 如果已经有加载框现在,则忽略message信息的设置
* @usage js.loading('正在保存...');
*/
js.loading(message, ignoreMessageIfExists);
/**
* 关闭加载框
* @param timeout 关闭延迟时间
* @param forceClose 是否强制关闭
* @usage js.closeLoading(1000, true);
*/
js.closeLoading(timeout, forceClose);
/**
* 得到layer对话框对象
* js.layer.msg();
*/
js.layer;
/**
* 显示提示框
* @param message 提示消息
* @param title 提示标题
* @param type 提示类型(success、error、warning、info)
* @param timeout 自动关闭毫秒(默认4000毫秒)
*/
js.showMessage(message, title, type, timeout);
/**
* 显示错误提示框
*/
js.showErrorMessage(responseText);
/**
* 关闭提示框
*/
js.closeMessage();
/**
* 提示对话框
* @param message 提示消息
* @param options 对话框选项
* @param closed 对话框关闭回调方法
* @usage js.alert('你好!', function(){})
* @usage js.alert('你好!', {icon: 2}, function(){})
*/
js.alert(message, options, closed);
/**
* 确认对话框
* @param message 确认信息
* @param urlOrFun 确认后的跳转的地址,或调用的方法
* @param data 如果urlOrFun是地址,该参数是调用地址的参数信息
* @param callback 执行ajax的回调方法,如果为空,则直接通过location=urlOrFun跳转。
* @param dataType 返回数据类型(默认json)
* @param async 是否异步(默认true)
* @param loadingMessage 调用loading(loadingMessage)的提示信息。
* @usage js.confirm('确认删除吗?', '$ctx/biz/delete?id=123', function(data){alert('删除成功')}, 'json', true, '正在删除...');
* @usage js.confirm('确认删除吗?', '$ctx/biz/delete', {id: '123'}, function(data){alert('删除成功')}, 'json', true, '正在删除...');
* @usage js.confirm('确认删除吗?', function(data){alert('删除成功')});
*/
js.confirm(message, urlOrFun, data, callback, dataType, async, loadingMessage);
JS 模板
/**
* 根据js模板生成代码,使用laytpl引擎
* @param id 模板ID
* @param data 模板数据(可选)
* @param callback 如果填写,则为异步渲染
* @usage
* 模板格式: <sc ript id="dempTpl" type="text/template">//<!--
* 这里写模块内容...
* //--></sc ript>
* 调用方法: js.template('dempTpl', data);
* 模版语法:
* 输出一个普通字段,不转义html: { { d.field } }
* 输出一个普通字段,并转义html: { {= d.field } }
* JavaScript脚本: { {# JavaScript statement } }
*/
js.template(id, data, callback);
Ajax 表单
/**
* AJAX 提交
* js.ajaxSubmit('/sys/user/save', {param: 1}, function(data){})
*/
js.ajaxSubmit(url, data, callback, dataType, async, message);
/**
* AJAX 提交表单(支持文件上传)
* js.ajaxSubmitForm($(form), function(data){})
*/
js.ajaxSubmitForm(formJqueryObj, callback, dataType, async, message);
字符串操作
/**
* String两边去空格
*/
js.trim(str);
/**
* String的startWith(正则表达式方式)
*/
js.startWith(str, start);
/**
* String的startWith(slice方式)
*/
js.startsWith(str, prefix);
/**
* String的endWith(正则表达式方式)
*/
js.endWith(str, end);
/**
* String的endWith(indexOf方式)
*/
js.endsWith(str, suffix);
/**
* 截取字符串,区别汉字和英文
*/
js.abbr(name, maxLength);
数值类型操作
/**
* 格式化数值
* @param num 待格式化的树
* @param cent 保留小数位数
* @param isThousand 是否进行千分位格式化
*/
js.formatNumber(num, cent, isThousand);
/**
* 金额格式化(千位符,小数四舍五入)金额每隔三位加一个逗号
* @param s 要格式化的数值
* @param n 小数位数
*/
js.formatMoney(s, n);
/**
* 数值前补零
*/
js.numberPad(num, n);
日期类型操作
/**
* 日期格式化
* @param date 日期 new Date()
* @param f 格式化字符串 yyyy-MM-dd HH:mm:ss
*/
js.formatDate(date, f);
/**
* 字符串转为日期
* @param date
*/
js.parseDate(date);
/**
* 日期加减
* @param date
* @param dadd 天数
*/
js.addDate(date, dadd);
/**
* 快速选择日期方法
* @param type 1今日,2本周,3本月,4本季度,5上月
* @param beginDateId 开始日期控件的ID
* @param endDateId 结束日期控件的ID
*/
js.quickSelectDate(type, beginDateId, endDateId);
Cookie 操作
/**
* cookie 操作
* @param name Cookie名称
* @param value Cookie值,填写表示设置,不填写表示获取
* @parma options:{expires:7} 如果是数字,则expires单位为天。
*/
js.cookie(name, value, options);
TabPage 页签
/**
* 得到TabPage对象
*/
js.tabPage;
/**
* 初始化TAB页面
* @param id
*/
js.initTabPage(id, options);
/**
* 添加TAB页面( class="addTabPage" )
* @param $this 点击的对象
* @param title 提示标题
* @param url 访问的路径
* @param closeable 是否有关闭按钮,关闭页面回调方法:function onTablePageClose(tabId, title){}
* @param refresh 打开后是否刷新重新加载
*/
js.addTabPage($this, title, url, closeable, refresh);
/**
* 获取当前TAB页面
* @param currentTabCallback 获取之后回调方法,传入当前tab页面的contentWindow,例如:function(contentWindow){}
*/
js.getCurrentTabPage(currentTabCallback);
/**
* 获取当前页面的上一个TAB页面,并激活上级页面
* @param preTabCallback 获取之后回调方法,传入上一个tab页面的contentWindow,例如:function(contentWindow){}
* @param isCloseCurrentTab 是否关闭当前页签
*/
js.getPrevTabPage(preTabCallback, isCloseCurrentTab);
/**
* 关闭当前TAB页面,并激活上级页面
* @param preTabCallback 关闭前的回调方法,传入上一个tab页面的contentWindow,例如:function(contentWindow){}
*/
js.closeCurrentTabPage(preTabCallback);