jQuery EasyUI API 中文帮助文档和扩展实例


Posted in Javascript onAugust 01, 2016

下载地址:jQuery EasyUI API 中文帮助文档

1.validatebox验证和提示框扩展:

//弹框
$.extend({
show_alert: function (strTitle, strMsg) {
$.messager.alert(strTitle, strMsg);
}
});
//扩展validatebox,添加验证
$.extend($.fn.validatebox.defaults.rules, {
eqPwd: {
validator: function (value, param) {
return value == $(param[0]).val();
},
message: '密码不一致!'
},
idcard: {// 验证身份证
validator: function (value) {
return /^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value);
},
message: '身份证号码格式不正确'
},
minLength: {
validator: function (value, param) {
return value.length >= param[0];
},
message: '请输入至少(2)个字符.'
},
length: {
validator: function (value, param) {
var len = $.trim(value).length;
return len >= param[0] && len <= param[1];
},
message: "必须介于{0}和{1}之间."
},
phone: {// 验证电话号码
validator: function (value) {
return /^((\d2,3)|(\d{3}\-))?(0\d2,3|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
},
message: '格式不正确,请使用下面格式:020-88888888'
},
mobile: {// 验证手机号码
validator: function (value) {
return /^(13|15|18)\d{9}$/i.test(value);
},
message: '手机号码格式不正确'
},
intOrFloat: {// 验证整数或小数
validator: function (value) {
return /^\d+(\.\d+)?$/i.test(value);
},
message: '请输入数字,并确保格式正确'
},
currency: {// 验证货币
validator: function (value) {
return /^\d+(\.\d+)?$/i.test(value);
},
message: '货币格式不正确'
},
qq: {// 验证QQ,从10000开始
validator: function (value) {
return /^[1-9]\d{4,9}$/i.test(value);
},
message: 'QQ号码格式不正确'
},
integer: {// 验证整数 可正负数
validator: function (value) {
//return /^[+]?[1-9]+\d*$/i.test(value);
return /^([+]?[0-9])|([-]?[0-9])+\d*$/i.test(value);
},
message: '请输入整数'
},
age: {// 验证年龄
validator: function (value) {
return /^(?:[1-9][0-9]?|1[01][0-9]|120)$/i.test(value);
},
message: '年龄必须是0到120之间的整数'
},
chinese: {// 验证中文
validator: function (value) {
return /^[\Α-\¥]+$/i.test(value);
},
message: '请输入中文'
},
english: {// 验证英语
validator: function (value) {
return /^[A-Za-z]+$/i.test(value);
},
message: '请输入英文'
},
unnormal: {// 验证是否包含空格和非法字符
validator: function (value) {
return /.+/i.test(value);
},
message: '输入值不能为空和包含其他非法字符'
},
username: {// 验证用户名
validator: function (value) {
return /^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value);
},
message: '用户名不合法(字母开头,允许6-16字节,允许字母数字下划线)'
},
dbname: {// 验证字段表名
validator: function (value) {
return /^[a-zA-Z][a-zA-Z0-9]{3,19}$/i.test(value);
},
message: '输入不合法(字母开头,允许4-20字节,允许字母数字)'
},
faxno: {// 验证传真
validator: function (value) {
return /^((\d2,3)|(\d{3}\-))?(0\d2,3|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
},
message: '传真号码不正确'
},
zip: {// 验证邮政编码
validator: function (value) {
return /^[1-9]\d{5}$/i.test(value);
},
message: '邮政编码格式不正确'
},
ip: {// 验证IP地址
validator: function (value) {
return /d+.d+.d+.d+/i.test(value);
},
message: 'IP地址格式不正确'
},
name: {// 验证姓名,可以是中文或英文
validator: function (value) {
return /^[\Α-\¥]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value);
},
message: '请输入姓名'
},
date: {// 验证姓名,可以是中文或英文
validator: function (value) {
//格式yyyy-MM-dd或yyyy-M-d
return /^(?:(?!0000)[0-9]{4}([-]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-]?)0?2\2(?:29))$/i.test(value);
},
message: '清输入合适的日期格式'
},
msn: {
validator: function (value) {
return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value);
},
message: '请输入有效的msn账号(例:abc@hotnail(msn/live).com)'
},
same: {
validator: function (value, param) {
if ($("#" + param[0]).val() != "" && value != "") {
return $("#" + param[0]).val() == value;
} else {
return true;
}
},
message: '两次输入的密码不一致!'
}
});

使用方法:(红色标记)

<input type="text" name="txtUserNameEdit" id="txtUserNameEdit" class="easyui-validatebox textbox" data-options="required:true,validType:'length[2,20]'" style="width:170px;height:22px;" />
<input type="text" name="txtMobilePhone" id="txtMobilePhone" class="easyui-validatebox textbox" data-options="required:false,validType:'mobile'" style="width:170px;height:22px;" />

2.datagrid动态输出列:

前端JS输出:

//动态构造列表
var option = {};
$.ajax({
url: "/Table/GetTabColsJsonStr",
type: "post",
data: {},
dataType: "json",
success: function (data) {
option.columns = data.columns;
$("#ui_TabData_dg").datagrid({
url: "/Table/GetTabDataInfoByTabId",
striped: true, rownumbers: true, pagination: true, pageSize: 20, singleSelect: true, multiSort: true,
idField: 'Id',
sortName: 'UpdateTime',
sortOrder: 'desc',
pageList: [20, 40, 60, 80, 100]
});
$('#ui_TabData_dg').datagrid(option);
}
})

后端:

/// <summary>
/// 获取列Json
/// </summary>
/// <param name="TabId"></param>
/// <returns></returns>
public string GetColumnsJsonStr()
{
string fieldJson = "{\"columns\":[[{\"field\":\"Id\",\"title\":\"主键\",\"width\":\"40\"},";
//此处获取输出表的列...
DataTable dtFields = new DataTable(); //SqlHelper.GetDataTable....
if (dtFields.Rows.Count > 0)
{
foreach (DataRow dr in dtFields.Rows)
{
fieldJson += "{\"field\":\"" + dr["FieldName"].ToString() + "\",\"title\":\"" + dr["FieldViewName"].ToString() + "\",\"width\":\"100\"},";
}
}
fieldJson += "{\"field\":\"CreateBy\",\"title\":\"创建人\",\"width\":\"80\"},";
fieldJson += "{\"field\":\"CreateTime\",\"title\":\"创建时间\",\"width\":\"130\"},";
fieldJson += "]]}";
return fieldJson;
}

3.easyui-accordion和easyui-tree构造多层级目录一级选项卡菜单框架

如下图:

jQuery EasyUI API 中文帮助文档和扩展实例

菜单树HTML:

<div data-options="region:'west',split:true,title:'功能导航'" style="width: 180px; background-color: white;">
<div id="RightAccordion" class="easyui-accordion">
</div>
</div>
<div data-options="region:'center'">
<div id="tabs" class="easyui-tabs" fit="true" border="false" data-options="
tools:[
{iconCls : 'icon-arrow_refresh',text:'刷新',handler:refreshTab},
{iconCls : 'icon-delete3',text:'关闭全部',handler:closeTab}
]">
<div id="home" title="我的主页" data-options="iconCls:'icon-house',closable:false" style="padding:10px">
This is the Home content.
</div>
</div>
</div>

JS:

function BindRightAccordion() {
$("#RightAccordion").accordion({ //初始化accordion
fillSpace: true,
fit: true,
border: false,
animate: false
});
//获取第一层初始目录
$.post("/Home/GetTreeByEasyui", { "id": "0" },
function (data) {
if (data == "0") {
window.location.href = '/Login/Index';
}
$.each(data, function (i, e) {
var id = e.id;
$('#RightAccordion').accordion('add', {
title: e.text,
content: "<ul id='tree" + id + "' ></ul>",
selected: true,
iconCls: e.iconCls
});
$.parser.parse();
//获取二级以下目录 含2级
$.post("/Home/GetTreeByEasyui?id=" + id, function (data) {
$("#tree" + id).tree({
data: data,
onBeforeExpand: function (node, param) {
$("#tree" + id).tree('options').url = "/Home/GetTreeByEasyui?id=" + node.id;
},
onClick: function (node) {
if (node.state == 'closed') {
$(this).tree('expand', node.target);
} else if (node.state == 'open') {
$(this).tree('collapse', node.target);
var tabTitle = node.text;
var url = node.attributes;
var icon = node.iconCls;
addTab(tabTitle, url, icon);
}
}
});
}, 'json');
});
}, "json");
}
//选项卡
function addTab(subtitle, url, icon) {
var strHtml = '<iframe id="frmWorkArea" width="99.5%" height="99%" style="padding:1px;" frameborder="0" scrolling="yes" src="' + url + '"></iframe>';
if (!$('#tabs').tabs('exists', subtitle)) {
$('#tabs').tabs('add', {
title: subtitle,
content: strHtml,
iconCls: icon,
closable: true,
loadingMessage: '正在加载中......'
});
} else {
$('#tabs').tabs('select', subtitle);
}
}
//刷新选项卡
function refreshTab() {
var index = $('#tabs').tabs('getTabIndex', $('#tabs').tabs('getSelected'));
if (index != -1) {
var tab = $('#tabs').tabs('getTab', index);
$('#tabs').tabs('update', {
tab: tab,
options: {
selected: true
}
});
}
}
//关闭选项卡
function closeTab() {
$('.tabs-inner span').each(function (i, n) {
var t = $(n).text();
if (t != '') {
if (t != "我的主页") {
$('#tabs').tabs('close', t);
}
}
});
}

后端输出Json代码:

/// <summary>
/// 获取导航菜单
/// </summary>
/// <param name="id">所属</param>
/// <returns>树</returns>
public JsonResult GetTreeByEasyui(string id)
{
try
{
if (uInfo != null)
{
DataTable dt = new MenuBLL().GetUserMenuData( int.Parse(id));
List<SysModuleNavModel> list = new List<SysModuleNavModel>();
for (int i = 0; i < dt.Rows.Count; i++)
{
SysModuleNavModel model = new SysModuleNavModel();
model.id = dt.Rows[i]["menuid"].ToString();
model.text = dt.Rows[i]["menuname"].ToString();
model.attributes = dt.Rows[i]["linkaddress"].ToString();
model.iconCls = dt.Rows[i]["icon"].ToString();
if (new MenuBLL().GetMenuList(" AND ParentId= " + model.id).Rows.Count > 0)
{
model.state = "closed";
}
else
{
model.state = "open";
}
list.Add(model);
}
return Json(list);
}
else
{
return Json("0", JsonRequestBehavior.AllowGet);
}
}
catch (Exception ex)
{
return Json("0", JsonRequestBehavior.AllowGet);
}
}
public class SysModuleNavModel
{
public string id { get; set; }
public string text { get; set; }
public string iconCls { get; set; }
public string attributes { get; set; }
public string state { get; set; }
public List<SysModuleNavModel> children { get; set; }
}

3.dialog弹出窗口:

(1)内容页为iframe:

//采用iframe框架
function ShowNews() {
var content = '<iframe src="/News/ShowNews" width="100%" height="99%" frameborder="0" scrolling="no"></iframe>';
$("<div/>").dialog({
id: "News",
content: content,
title: "公告",
height:600,
width: 800,
modal: true
});
}

(2)内容页为div:

//div
function ShowNews() {
$("<div/>").dialog({
id: "ui_news_dialog",
title: "公告",
href: "/News/ShowNews",
height: 600,
width: 800,
modal: true,
buttons: [{
id: "ui_AddNews_btn",//按钮ID
text: '添 加',
handler: function () {
//这里写form表单提交事件
$("#NewsForm").form("submit", {
url: "/News/AddNews",
onSubmit: function (param) {
param.ID = "";
param.Name = "";
if ($(this).form('validate')) {
return true;
}
else {
return false;
}
},
success: function (data) {
var dataJson = eval('(' + data + ')');
if (dataJson.success) {
//销毁dialog对象
$("#ui_news_dialog").dialog('destroy');
$.show_alert("提示", dataJson.msg);
} else {
$.show_alert("提示", dataJson.msg);
}
}
});
}
}, {
text: '取 消',
handler: function () {
$("#ui_news_dialog").dialog('destroy');
}
}],
onLoad: function () {
//加载处理事件,例如:
$("#txtName").focus();
},
onClose: function () {
$("#ui_news_dialog").dialog('destroy'); 
}
});
}

以上所述是小编给大家介绍的jQuery EasyUI API 中文帮助文档和扩展实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
ExtJs 表单提交登陆实现代码
Aug 19 Javascript
基于jquery的一个拖拽到指定区域内的效果
Sep 21 Javascript
js 代码优化点滴记录
Feb 19 Javascript
Javascript闭包(Closure)详解
May 05 Javascript
AngularJS ng-bind-template 指令详解
Jul 30 Javascript
AngularJS 过滤与排序详解及实例代码
Sep 14 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
利用JQuery实现datatables插件的增加和删除行功能
Jan 06 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
Feb 13 Javascript
vue如何实现observer和watcher源码解析
Mar 09 Javascript
微信小程序promsie.all和promise顺序执行
Oct 27 Javascript
基于vue+echarts数据可视化大屏展示的实现
Dec 25 Vue.js
AngularJS入门教程之ng-class 指令用法
Aug 01 #Javascript
Three.js学习之正交投影照相机
Aug 01 #Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
Aug 01 #Javascript
JQuery之proxy实现绑定代理方法
Aug 01 #Javascript
AngularJS入门教程之ng-checked 指令详解
Aug 01 #Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
Aug 01 #Javascript
Javascript OOP之面向对象
Jul 31 #Javascript
You might like
颠覆常识!无色透明的咖啡诞生了(中日双语)
2021/03/03 咖啡文化
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
用PHP解决的一个栈的面试题
2014/07/02 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
PHP实现动态web服务器方法
2015/07/29 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
PHP模板引擎Smarty中的保留变量用法分析
2016/04/11 PHP
JS 如果改变span标签的是否隐藏属性
2011/10/06 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
javascript屏蔽右键代码
2014/05/15 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
vue插件实现v-model功能
2018/09/10 Javascript
给localStorage设置一个过期时间的方法分享
2018/11/06 Javascript
vue实现户籍管理系统
2020/05/29 Javascript
在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
2015/04/25 Python
Python中DJANGO简单测试实例
2015/05/11 Python
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
python线程、进程和协程详解
2016/07/19 Python
python下os模块强大的重命名方法renames详解
2017/03/07 Python
解决PyCharm中光标变粗的问题
2017/08/05 Python
python 为什么说eval要慎用
2019/03/26 Python
Python3中的bytes和str类型详解
2019/05/02 Python
对Python 简单串口收发GUI界面的实例详解
2019/06/12 Python
Python使用matplotlib 画矩形的三种方式分析
2019/10/31 Python
Tostadora意大利:定制T恤
2019/04/08 全球购物
什么是跨站脚本攻击
2014/12/11 面试题
应届专科生个人的自我评价
2014/01/05 职场文书
模具设计与制造专业自荐书
2014/07/01 职场文书
教代会闭幕词
2015/01/28 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书