B-JUI文档、下载

概述

特别说明

本文档仅适用于最新版的B-JUI,网站首页或下载页可以查看B-JUI的最后更新时间。

B-JUI前端管理框架适用于快速开发各类WEB管理系统,可与任意后端程序(java、php、.net...)配合使用。

B-JUI基于Bootstrap样式及jQuery库开发,目前有各类常用组件,已集成部分常用插件,可以很的方便引入第三方jQuery插件。

B-JUI目录结构

B-JUI/
├── js/
│   ├── bjui-all.js
│   ├── bjui-all.min.js
│   ├── bjui-all.min.js.map
│   ├── jquery-1.11.3.min.js
│   ├── jquery.cookie.js       
├── themes/
│   ├── blue/
│   ├── green/
│   ├── purple/
│   ├── css/
│   │   ├── FA/
│   │   ├── img/
│   │   ├── style.css
│   │   ├── bootstrap.min.css
│   │   └── ie7.css
│   └── fonts/
├── plugins/
│   ├── bootstrap.min.js
│   └── 其他插件...         
└── other/  

  

js 目录是B-JUI的js及jQuery jquery-1.11.3.min.js 。 themes 目录是样式文件,包含B-JUI样式文件style.css 和 bootstrap.css 及 蓝、绿、紫 三套皮肤,以及 Font Awesome 字体。 plugins 目录包含 bootstrap.min.js 及其他用到的插件。

页面结构

框架主页面结构:

主页面结构的html代码请参考下载压缩包中的 index.html 。

子页面结构如下:

<div class="bjui-pageHeader"><!-- 顶部模块[如:功能按钮、搜索面板] -->
</div><div class="bjui-pageContent"><!-- 内容区 -->
</div><div class="bjui-pageFooter"><!-- 底部模块[如:操作按钮] -->
</div>

子页面主要用于创建 navtab 、 dialog 页面。

初始化框架

BJUI.init(options)

options参数请参考下载目录中的 index.html 文件。

DOM元素ID命名规范

因为本框架默认所有内容都位于一个Document中,所以为元素命名ID的时候需要做到唯一性,如果确实不可避免的会出现有重复ID的现象,需要操作当前子页面的元素时,尽量用:
$.CurrentNavtab.find('#dom-id') ,在当前标签工作区中查找指定ID的元素。
或 $.CurrentDialog.find('#dom-id') ,在当前弹窗中查找指定ID的元素。

全局事件

B-JUI的全局事件如下:

事件名称中文说明描述
bjui.initUI框架初始化事件监听该事件,可以为指定的DOM初始化框架组件及插件,例如:本框架监听该事件用于在文档加载完成或ajax加载完成时,初始化框架及插件
bjui.beforeInitUI框架初始化前事件监听该事件,可以在框架初始化前进行相关操作。例如:本框架的任一容器DOM如果添加了属性['data-noinit="true"],该容器内的元素都不会被初始化,处理这个流程就监听了本件事。
bjui.afterInitUI框架初始化后事件监听该事件,可以在框架初始化后进行相关操作,示例同上。
bjui.ajaxStatusajax请求状态事件框架内部事件。本事件用于在ajax请求过程中(ajaxStart - > ajaxStop),显示/隐藏 框架的Mask loading效果。
bjui.resizeGrid窗口缩放事件监听该事件,可在浏览器窗口或dialog窗口缩放时进行相关操作。
bjui.beforeAjaxLoadajax载入前事件监听该事件,可在使用ajaxUrl方法 (navtab/dialog均用此方法加载子页片内容) 前进行相关操作,例如:本框架监听该事件用于在重载入子页片前释放在body中生成的selectpicker插件资源。

下面是一个事件示例,来自DEMO中,作用是代码片断着色及添加COPY按钮:

$(document).on(BJUI.eventType.afterInitUI, function(event) {$(event.target).find('.highlight').each(function(){var b='<div class="zero-clipboard"><span class="btn-clipboard">Copy</span></div>';var p=$(this).find('> pre.prettyprint');p.addClass('linenums').html($.trim(p.html()));prettyPrint();$(this).before(b);})
})

data属性

同 Bootstrap 一样,你可以仅仅通过 data 属性 API 就能使用 B-JUI提供的插件,而无需写 JavaScript 代码,如下面的代码就是调用信息提示框 alertmsg 的用法。

<button type="button" class="btn-default" data-toggle="alertmsg" data-options="{type:'info', msg:'我是一个普通的信息提示!'}">信息提示</button>

javascript API

除了data属性之外,也提供 javascript 的 API,如下面的代码将实现同上面data属性一致的效果。

<button type="button" class="btn-default" οnclick="alertmsg_onclick();">信息提示</button>
<script type="text/javascript">
function alertmsg_onclick() {BJUI.alertmsg('info', '我是一个普通的信息提示!')
}
</script>

 

url动态赋值

URL动态赋值:指的是url中包含{ selector },即大括号括起来的jQuery选择器,当提交该url时,框架会自动将selector对应元素的值替换到大括号所占区域。

后面的文档中,凡是标记有 D-Url 字样的URL参数,均支持动态赋值,通常支持动态赋值的url,同时支持warn参数,warn参数携带动态赋值不成功时的提示信息。

字符串函数等

方法参数说明返回描述及示例
$(form).serializeJson()--json将表单域内容转换为json格式。
$(selector).isTag(tagName)html元素名称boolean判断当前jQuery对象的标签名是否为tagName。示例:if ($('#test-aa').isTag('a')) {alert('我是一个a链接!')}
string.isPositiveInteger()--boolean判断字符串是否是正整数。示例:var aa = '112233'; alert(aa.isPositiveInteger())
string.isInteger()--boolean判断字符串是否是整数。示例:var aa = '-112233'; alert(aa.isInteger())
string.isNumber()--boolean判断字符串是否是数字。示例:var aa = '112.233'; alert(aa.isNumber())
string.isNormalID()--boolean判断字符串是以字母开头,并由数字、字母、中横线、下划线组成。示例:var aa = 'navtab-test_1'; alert(aa.isNormalID())
string.includeChinese()--boolean判断字符串是否包含汉字。示例:var aa = '中国520'; alert(aa.includeChinese())
string.trim()--string去除字符串两端空格,同jQuery的$.trim(string)。示例:var aa = ' 11哈11 '; alert(aa.trim())
string.startsWith(str)待比较的字符串boolean判断字符串是否以str开头。示例:var aa = 'hello112233'; alert(aa.startsWith('hello'))
string.endsWith(str)待比较的字符串boolean判断字符串是否以str结尾。示例:var aa = '112233hello'; alert(aa.endsWith('hello'))
string.replaceSuffix(index)--boolean判断字符串是否是正整数。示例:var aa = '112233'; alert(aa.isPositiveInteger())
string.encodeTXT()--string转义html字符串。示例:
Copy
  1. var html = '<p>我是一行数据!</p>'; alert(html.encodeTXT())
string.trans()--string还原已转义的html字符串。示例:var html = '<p>我是一行数据!</p>'; alert(html.trans())
string.replaceAll(ostr, nstr)搜索字符串,替换字符串boolean替换所有匹配的字符串。示例:var aa = '1122331122'; alert(aa.replaceAll('11', '**'))
string.toBool()--boolean将字符串转为boolean型。示例:var aa = 'true'; alert(aa.toBool())
string.toJson()--string|json将字符串转换为json,成功转换返回json,失败返回源字符串。示例:var aa = '{"name":"张三"}'.toJson(); alert(typeof aa === 'object' ? aa.name : aa)
string.toObj()--string|object将字符串转换为object,成功转换将返回object,失败返回源字符串。示例:var aa = '{name:"张三", age:30}'; aa = aa.toObj(); alert(typeof aa === 'object' ? aa.age : aa)
string.toFunc()--string|object将字符串转换为function,成功转换将返回function,失败返回源字符串。示例:var aa = 'function() {alert("我是一个方法~")}'; aa = aa.toFunc(); if (typeof aa === 'function') {aa.apply()}。还支持window对象下的字符串函数名转换,示例2:window.testfunc = function() { alert('我是一个window方法!') }; var aa = 'testfunc'.toFunc(); if (typeof aa === 'function') {aa.apply()}

Navtab

通过页面结构图可以看出Navtab是B-JUI框架的重要组成部分,除去顶部导航及侧边栏后就是Navtab。Navtab采用标签形式显示多个子页面,按住标签不放可以拖动排序,在标签上右键可以刷新或关闭标签。

使用

通过data属性:

<button type="button" class="btn-default" data-toggle="navtab" data-options="{id:'test_navtab1', url:'/html/base/navtab-demo1.html', title:'示例Navtab1'}">打开Navtab1</button>

通过JS API:

BJUI.navtab({id:'test_navtab3',url:'/html/base/navtab-demo3.html',title:'示例Navtab3'
})

参数

名称类型默认值描述
idstringundefined[必选] 标签的ID,如果指定重复,将覆盖现有的ID相同标签。
titlestringNew tab[可选] 标签打开后显示的名称。
urlstringundefined[必选] D-Url 请求数据的url,a链接触发时可以将url定义在href属性。
externalbooleanfalse[可选] 是否以iframe方式加载外部页面。
typestringGET[可选] Http请求方式,可选‘GET/POST’。
dataobject{}[可选] 请求url时,需要发送的data数据。
loadingmaskbooleantrue[可选] ajax请求时是否显示数据加载遮罩。
freshbooleanfalse[可选] 是否保持该navtab的新生状态,表现在重复打开该navtab时,是否重新载入内容。
reloadWarnstringnull[可选] 当准备在已存在的navtab上加载内容时的确认提示信息。
autorefreshboolean/int(秒)false[可选] 指定该navtab是否可自动刷新,为true时默认间隔15秒自动刷新,指定具体的秒数则以指定的间隔秒值自动刷新。
onLoadfunction($navtab)null[可选] navtab加载完成后的事件回调,回调函数的参数$navtab为该navtab内容区的jQuery对象。
beforeClosefunction($navtab)null[可选] 返回值: boolean。 navtab关闭前的事件回调,返回true则关闭,返回false不关闭。
onClosefunction()null[可选] navtab关闭后的事件回调。

方法

方法名参数类型参数说明描述
switchTab(tabid)string标签ID切换到某个标签。
refresh(tabid)string标签ID,ID为空则刷新当前标签刷新某个标签。
reloadFlag(tabids)string一个或多个标签ID,多个ID以,分隔为某(几)个标签设定重载标记(当切换到该标签时重新载入)。
reload(options)object同navtab默认参数重新载入某个标签,如果未指定ID,则默认重载入当前标签。
closeTab(tabid)string标签ID关闭某个标签。
closeCurrentTab([tabid])string标签ID,可选。关闭当前标签。
closeAllTab()----关闭所有标签。

方法使用示例:

// 刷新ID为 navtab-test-1 的Navtab
BJUI.navtab('refresh', 'navtab-test-1')

Dialog

Dialog是浮动在主页面上的弹出窗口,分为普通弹窗和模态弹窗。Dialog是B-JUI的重要组成部分,可以进行最大化,最小化,拖动大小和位置等操作。

使用

通过data属性:

<button type="button" class="btn-default" data-toggle="dialog" data-options="{id:'test_dialog1', url:'/html/base/dialog-demo1.html', title:'示例Dialog1'}">打开Dialog1</button>

通过JS API:

BJUI.dialog({id:'test_dialog3',url:'/html/base/dialog-demo3.html',title:'示例Dialog3'
})

参数

名称类型默认值描述
idstringdialog[必选] 弹窗的ID,如果指定重复,将覆盖现有的ID相同弹窗。
titlestringNew Dialog[可选] 弹窗打开后显示的名称,可从data-title属性获取或直接获取触发DOM的text值。
urlstringundefined[可选] 参数url、image、html、target必选一项,优先级url > image > html > target。 D-Url 请求数据的url,a链接触发时可以将url定义在href属性。
imagestringnull[可选] 图片地址,让dialog显示该图片,image参数可以使用encodeURI函数编码。
htmlstringnull[可选] 指定一段html内容加载到dialog。
targetselectornull[可选] 从指定的jQuery容器中加载内容到dialog,请为该容器添加属性data-noinit="true"以阻止容器中的内容提前初始化,为容器添加Class[hide]以隐藏待加载内容。
typestringGET[可选] Http请求方式,可选‘GET/POST’。
dataobject{}[可选] 请求url时,需要发送的data数据。
loadingmaskbooleantrue[可选] ajax请求时是否显示数据加载遮罩。
widthint500[可选] 弹窗的宽度。
heightint300[可选] 弹窗的高度。
maxbooleanfalse[可选] 打开弹窗时直接最大化。
maskbooleanfalse[可选] 是否模态窗口。
resizablebooleantrue[可选] 可以调整弹窗的大小。
drawablebooleantrue[可选] 可以拖动弹窗。
maxablebooleantrue[可选] 是否显示最大化按钮。
minablebooleantrue[可选] 是否显示最小化按钮(模态弹窗无效)。
freshbooleanfalse[可选] 是否保持该dialog的新生状态,表现在重复打开该dialog时,是否重新载入内容。
reloadWarnstringnull[可选] 当准备在已存在的dialog上加载内容时的确认提示信息。
onLoadfunction($dialog)null[可选] dialog加载完成后的事件回调,回调函数的参数$dialog为该dialog的jQuery对象。
beforeClosefunction($dialog)null[可选] 返回值: boolean。 dialog关闭前的事件回调,返回true则关闭,返回false不关闭。
onClosefunction()null[可选] dialog关闭后的事件回调。

方法

方法名参数类型参数说明描述
switchDialog(id)stringdialog ID切换到某个弹窗(模态弹窗无效)。
refresh(id)stringdialog ID刷新某个弹窗。
reloadFlag(tabids)string一个或多个标签ID,多个ID以,分隔为某(几)个标签设定重载标记(当切换到该标签时重新载入)。
reload(options)object同dialog默认参数重新载入某个弹窗,如果未指定ID,则默认重载入当前弹窗。
close(id)stringdialog ID关闭某个弹窗。
closeCurrent()----关闭当前弹窗。

方法使用示例:

// 刷新ID为 dialog-test-1 的Dialog
BJUI.dialog('refresh', 'dialog-test-1')

alertmsg信息提示

alertmsg是B-JUI的信息提示组件,共有信息、成功、警告、错误、确认、输入提示几种类型。

使用

通过data属性:

<button type="button" class="btn-default" data-toggle="alertmsg" data-options="{type:'info', msg:'我是一个普通的信息提示!'}">信息提示</button>

通过JS API:

BJUI.alertmsg('ok', '我是一个成功的消息提示!', {okCall: function() {BJUI.alertmsg('info', '你点击了确定按钮!')}
})

 

参数

名称类型默认值描述
typestringnull[必选] 信息提示方式,参数有['ok' | 'correct' | 'info' | 'warn' | 'error' | 'confirm' | 'prompt' ],其中ok为correct的别名,confirm为确认提示,prompt为输入信息提示。
msgstringnull[必选] 提示的内容。
displayPositionstringtopcenter[可选] 提示框显示位置,参数有['topleft' | 'topcenter' | 'topright' | 'middleleft' | 'middlecenter' | 'middleright' | 'bottomleft' | 'bottomcenter' | 'bottomright'],本参数可以覆盖全局设置
displayModestringslide[可选] 提示框显示动画(无动画、渐显渐隐、滑动),参数['none' | 'fade' | 'slide'],本参数可以覆盖全局设置
autoClosebooleannull[可选] 是否自动关闭提示框,默认在type为['ok' | 'correct' | 'info']三种方式时参数值为true。
alertTimeoutintnull[可选] 自动关闭提示框的时间(毫秒),autoClose参数为true时生效,本参数可以覆盖全局设置
maskbooleannull[可选] 是否模态显示提示框,默认在type为['warn' | 'error' | 'confirm' | 'prompt']方式时参数值为true。
titlestring见bjui-regional.zh-CN.js中alertmsg[可选] 信息提示框的标题,设置本参数将会覆盖bjui-regional.zh-CN.js中alertmsg的对应设置。
okNamestring确定[可选] 确定按钮的名称,设置本参数将会覆盖bjui-regional.zh-CN.js中alertmsg的对应设置。
cancelNamestring取消[可选] 仅type为'confirm'时有效取消按钮的名称,设置本参数将会覆盖bjui-regional.zh-CN.js中alertmsg的对应设置。
okCallfunction()null[可选] 确定按钮的回调方法,支持字符串类型的方法名,该方法会在提示框关闭后被调用
cancelCallfunction()null[可选] 仅type为'confirm'时有效取消按钮的回调方法,支持字符串类型的方法名,该方法会在提示框关闭后被调用
promptRequiredstringrequired[可选] 仅type为'prompt'时有效,输入提示框的验证规则。
promptnameobjectprompt[可选] 仅type为'prompt'时有效,输入提示框的name属性。
promptvalstringnull[可选] 仅type为'prompt'时有效,输入提示框的默认值。
promptobjectnull[可选] 仅type为'prompt'时有效。该参数是点击确定后的ajax提交参数,详细参数配置参考bjuiajax的doajax一节。示例:{url:'ajaxDone.json', type:'post', loadingmask:true}。注意:如果有自定义okCall参数,则该参数无效。

bjuiajax

bjuiajax是B-JUI封装的一系列ajax异步请求。

B-JUI消息JSON

当ajax请求时,服务端可以仅返回一个消息JSON告知前端框架处理的结果,这个JSON的格式如下:
{"statusCode" : 200,"message" : "处理成功!"
}

消息JSON的参数

JSON的keystatusCode、message可以在框架初始化时通过参数keys更改,statusCode的状态值有ok、error、timeout,代表成功、失败、超时三种类型,可以通过参数statusCode更改。 

doajax异步请求

通过data属性使用:

<button type="button" class="btn-default" data-toggle="doajax" data-options="{url:'../../json/ajaxDone.json'}">Data API Ajax提交1</button>

通过JS API使用:

BJUI.ajax('doajax', {url: 'json/ajax/ajax-test1.json',loadingmask: true,okCallback: function(json, options) {console.log('返回内容:\n'+ JSON.stringify(json))}
})

参数:

名称类型默认值描述
urlstringnull[必选] D-Url ajax处理的URL,a链接触发时可以将url定义在href属性。
typestringPOST[可选] ajax请求方式。
dataobjectnull[可选] ajax请求发送到服务器的数据。
confirmMsgstringnull[可选] 执行动作前的确认提示。
okalertbooleantrue[可选] 请求正常返回后,是否弹出相应的信息提示,当返回内容不是B-JUI消息JSON时,建议关闭。
callbackfunction(json)null[可选] 自定义回调函数。
okCallbackfunction(json, options)null[可选] 请求成功时的回调函数,该函数会覆盖B-JUI默认的成功回调函数,函数的options参数即是该doajax的options参数。
okAfterCallbackfunction(json, options)null[可选] 请求成功时的回调函数,该函数会在B-JUI默认的成功函数后执行,函数的options参数即是该doajax的options参数。
errCallbackfunction(json, options)null[可选] 请求失败时的回调函数,函数的options参数即是该doajax的options参数。
failCallbackfunction(msg, options)null[可选] ajax请求出错时的回调函数,函数的msg参数是服务端返回的出错信息,options参数即是该doajax的options参数。
loadingmaskbooleanfalse[可选] ajax请求时是否显示数据加载遮罩。
targetselectornull[可选] 数据加载遮罩的父容器,值为空时默认是当前Navtab或Dialog。
reloadbooleanfalse[可选] 请求返回成功状态后,是否重新加载当前target。
forwardstringnull[可选] 跳转地址,请求返回成功状态后,加载forward地址对应的内容到当前target。
forwardConfirmbooleanfalse[可选] 请求返回成功状态后,是否重新加载当前target。
closeCurrentbooleanfalse[可选] 请求返回成功状态后,是否关闭当前target(仅navtab或dialog)。
tabidstringnull[可选] 请求返回成功状态后,需要刷新的navtab的id集合,多个id以,分隔。
dialogidstringnull[可选] 请求返回成功状态后,需要刷新的dialog的id集合,多个id以,分隔。
dividstringnull[可选] 请求返回成功状态后,需要刷新的div(仅限通过doload加载的div)的id集合,多个id以,分隔。
datagridsstringnull[可选] 请求返回成功状态后,需要刷新的datagrid的id集合,多个id以,分隔。
gridrefreshflagbooleantrue[可选] 刷新datagrid时保留其快速筛选、排序、分页信息。
ajaxTimeoutintBJUI.ajaxTimeout[可选] 请求超时设置,即$.ajax的timeout属性。

请求返回成功状态

指服务端返回B-JUI的消息JSON并在json[BJUI.keys.statusCode] == BJUI.statusCode.ok时有效。

ajaxform异步表单提交

通过data属性使用(带验证):

<form action="../../json/ajaxDone.json" data-toggle="ajaxform"><h5>Data API Ajax提交表单1(带验证)</h5><div class="bjui-row col-2"><label class="row-label">姓名</label><div class="row-input"><input type="text" name="username" data-rule="required"></div><label class="row-label">住址</label><div class="row-input"><input type="text" name="address" data-rule="required"></div></div><hr style="margin:5px 0 15px;"><div class="text-center"><button type="submit" class="btn-default">提交表单</button></div>
</form>

通过JS API属性使用(无验证):

BJUI.ajax('ajaxform', {url: 'json/ajax/ajax-test1.json',form: $.CurrentNavtab.find('form:eq(1)'),validate: false,loadingmask: true,okCallback: function(json, options) {console.log('返回内容1:\n'+ JSON.stringify(json))}
})

参数:

名称类型默认值描述
urlstringnull[必选] 提交的URL,未指定时将取form的action属性。
typestringPOST[可选] ajax请求方式,未指定该参数时会取form的method属性值。
confirmMsgstringnull[可选] 提交表单前的确认提示。
beforeSubmitfunction(form)null[可选] 执行动作前的确认函数,返回false时不提交表单。
validate1.31booleantrue[可选] 提交表单前是否需要验证(需要验证插件nicevalidate支持)。
alertmsgbooleanfalse[可选] 是否弹出验证未通过的信息提示。
okalertbooleantrue[可选] 请求正常返回后,是否弹出相应的信息提示。
callbackfunction(json)null[可选] 自定义回调函数。
okCallbackfunction(json, options)null[可选] 请求成功时的回调函数,该函数会覆盖B-JUI默认的成功回调函数,函数的options参数即是该doajax的options参数。
okAfterCallbackfunction(json, options)null[可选] 请求成功时的回调函数,该函数会在B-JUI默认的成功函数后执行,函数的options参数即是该doajax的options参数。
errCallbackfunction(json, options)null[可选] 请求失败时的回调函数,函数的options参数即是该doajax的options参数。
failCallbackfunction(msg, options)null[可选] ajax请求出错时的回调函数,函数的msg参数是服务端返回的出错信息,options参数即是该doajax的options参数。
formselectornull[可选] 要提交的表单,通过JS API使用时需要。
loadingmaskbooleantrue[可选] ajax请求时是否显示数据加载遮罩。
targetselectornull[可选] 数据加载遮罩的父容器,值为空时默认是当前Navtab或Dialog。
reloadbooleanfalse[可选] 请求返回成功状态后,是否重新加载当前target。
forwardstringnull[可选] 跳转地址,请求返回成功状态后,加载forward地址对应的内容到当前target。
forwardConfirmbooleanfalse[可选] 请求返回成功状态后,是否重新加载当前target。
closeCurrentbooleanfalse[可选] 请求返回成功状态后,是否关闭当前target(仅navtab或dialog)。
tabidstringnull[可选] 请求返回成功状态后,需要刷新的navtab的id集合,多个id以,分隔。
dialogidstringnull[可选] 请求返回成功状态后,需要刷新的dialog的id集合,多个id以,分隔。
dividstringnull[可选] 请求返回成功状态后,需要刷新的div(仅限通过doload加载的div)的id集合,多个id以,分隔。
datagridsstringnull[可选] 请求返回成功状态后,需要刷新的datagrid的id集合,多个id以,分隔。
gridrefreshflagbooleantrue[可选] 刷新datagrid时保留其快速筛选、排序、分页信息。
ajaxTimeoutintBJUI.ajaxTimeout[可选] 请求超时设置,即$.ajax的timeout属性。

请求返回成功状态

指服务端返回B-JUI的消息JSON并在json[BJUI.keys.statusCode] == BJUI.statusCode.ok时有效。

doload异步加载

通过Data属性使用:

<button type="button" class="btn-default" data-toggle="ajaxload" data-options="{url:'../../html/base/ajax_layout1.html', target:'#ajaxload_test_box'}">Data API Ajax载入</button>

通过JS API使用:

BJUI.ajax('doload', {url: 'html/base/ajax_layout1.html',target: '#ajaxload_test_box'
})

参数:

名称类型默认值描述
targetselectornull[必选] 目标容器的 jQuery选择器表达式 或 DOM对象。
urlstringnull[必选] D-Url 远程加载的URL,a链接触发时可以将url定义在href属性。
typestringGET[可选] ajax请求方式。
dataobjectnull[可选] ajax请求发送到服务器的数据。
autorefreshboolean/int(秒)null[必选] 指定该div容器是否可自动刷新,为true时默认间隔15秒自动刷新,指定具体的秒数则以指定的间隔秒值自动刷新。
callbackfunction(json)null[可选] 加载成功后的回调函数。
loadingmaskbooleantrue[可选] ajax请求时是否显示数据加载遮罩。
ajaxTimeoutintBJUI.ajaxTimeout[可选] 请求超时设置,即$.ajax的timeout属性。

方法:

方法名参数类型参数说明描述
refreshdiv(id)string一个或多个div容器ID,多个ID以,分隔刷新指定id的div容器。
refreshlayout(target)selector目标容器的 jQuery选择器表达式 或 DOM对象刷新指定的div容器。
reloadlayout(options)object同doload的默认参数重新载入某个div容器。

方法使用示例:

// 重新加载 #ajaxload_test_box 容器
BJUI.ajax('reloadlayout', {target:'#ajaxload_test_box', url:'html/base/ajax_layout2.html'})

ajaxdownload异步下载

通过Data属性使用:

<button type="button" class="btn-default" data-toggle="ajaxdownload" data-options="{url:'../ajaxdownload?t=1'}">ajax下载</button>

通过JS API使用:

BJUI.ajax('ajaxdownload', {url:'../ajaxdownload?t=1',loadingmask: true
})

参数:

名称类型默认值描述
urlstringnull[必选] D-Url 下载的URL。
typestringGET[可选] ajax请求方式。
dataobjectnull[可选] 发送到服务器的数据。
targetselectornull[可选] 数据加载遮罩的父容器,值为空时默认是当前Navtab或Dialog。
loadingmaskbooleanfalse[可选] ajax请求时是否显示数据加载遮罩。
confirmMsgstringnull[可选] 下载前的确认提示。
failCallbackfunction(responseHtml, url)B-JUI框架提示及取消loadingmask遮罩效果。[可选] ajax请求失败时的回调函数。
prepareCallbackfunction(url)根据loadingmask参数加载遮罩。[可选] ajax请求中的回调函数。
successCallbackfunction(url)取消loadingmask遮罩效果。[可选] ajax请求成功的回调函数。

ajaxdownload说明

需要依赖插件$.fileDownload

ajaxsearch搜索表单1.31

通过data属性使用(不验证):

<form action="../../html/base/ajax.html" data-toggle="ajaxsearch" data-options="{validate:false}"><h5>Ajax表单搜索(重载当前navtab,不验证)</h5><div class="bjui-row col-2"><label class="row-label">姓名</label><div class="row-input"><input type="text" name="username" data-rule="required"></div><label class="row-label">住址</label><div class="row-input"><input type="text" name="address" data-rule="required"></div></div><hr style="margin:5px 0 15px;"><div class="text-center"><button type="submit" class="btn-default">搜索表单</button></div>
</form>

通过JS API属性使用(带验证):

BJUI.ajax('ajaxsearch', {url: '../../html/base/ajax.html',form: $.CurrentNavtab.find('form:eq(1)'),validate: true,loadingmask: true
})

参数:

名称类型默认值描述
urlstringnull[必选] 提交的URL,未指定时将取form的action属性。
typestringPOST[可选] ajax请求方式,未指定该参数时会取form的method属性值。
beforeSubmitfunction(form)null[可选] 执行动作前的确认函数,返回false时不提交表单。
validatebooleantrue[可选] 提交表单前是否需要验证(需要验证插件nicevalidate支持)。
alertmsgbooleanfalse[可选] 是否弹出验证未通过的信息提示。
searchDatagridselectornull[可选] 将form域中的信息用来搜索指定datagrid,如果有该参数,则参数okalert之后的参数都无效。
formselectornull[可选] 要提交的表单,通过JS API使用时需要。
loadingmaskbooleantrue[可选] ajax请求时是否显示数据加载遮罩。
targetselectornull[可选] 数据加载遮罩的父容器,值为空时默认是当前Navtab或Dialog。
okalertbooleantrue[可选] 请求正常返回后,是否弹出相应的信息提示。
callbackfunction(json)null[可选] 自定义回调函数。
okCallbackfunction(json, options)null[可选] 请求成功时的回调函数,该函数会覆盖B-JUI默认的成功回调函数,函数的options参数即是该doajax的options参数。
okAfterCallbackfunction(json, options)null[可选] 请求成功时的回调函数,该函数会在B-JUI默认的成功函数后执行,函数的options参数即是该doajax的options参数。
errCallbackfunction(json, options)null[可选] 请求失败时的回调函数,函数的options参数即是该doajax的options参数。
failCallbackfunction(msg, options)null[可选] ajax请求出错时的回调函数,函数的msg参数是服务端返回的出错信息,options参数即是该doajax的options参数。
reloadbooleanfalse[可选] 请求返回成功状态后,是否重新加载当前target。
forwardstringnull[可选] 跳转地址,请求返回成功状态后,加载forward地址对应的内容到当前target。
forwardConfirmbooleanfalse[可选] 请求返回成功状态后,是否重新加载当前target。
closeCurrentbooleanfalse[可选] 请求返回成功状态后,是否关闭当前target(仅navtab或dialog)。
tabidstringnull[可选] 请求返回成功状态后,需要刷新的navtab的id集合,多个id以,分隔。
dialogidstringnull[可选] 请求返回成功状态后,需要刷新的dialog的id集合,多个id以,分隔。
dividstringnull[可选] 请求返回成功状态后,需要刷新的div(仅限通过doload加载的div)的id集合,多个id以,分隔。
datagridsstringnull[可选] 请求返回成功状态后,需要刷新的datagrid的id集合,多个id以,分隔。
gridrefreshflagbooleantrue[可选] 刷新datagrid时保留其快速筛选、排序、分页信息。
ajaxTimeoutintBJUI.ajaxTimeout[可选] 请求超时设置,即$.ajax的timeout属性。

请求返回成功状态

指服务端返回B-JUI的消息JSON并在json[BJUI.keys.statusCode] == BJUI.statusCode.ok时有效。

Datagrid

Datagrid,即数据表格,是B-JUI的重要组成部分。

使用

通过data属性:

<table class="table table-bordered" data-toggle="datagrid" data-options="{dataUrl: '../../json/datagrid-test.json'
}"><thead><tr><th data-options="{name:'name',align:'center',width:70}">名称</th><th data-options="{name:'desc'}"align="center">描述</th><th data-options="{name:'beizhu'}">备注</th><th data-options="{name:'createtime',align:'center',type:'date',pattern:'yyyy-MM-dd HH:mm:ss'}">创建时间</th></tr></thead>
</table>

通过JS API:

$('#test-datagrid').datagrid({dataUrl: '../../json/datagrid-test.json',columns: [{name:'name',label:'名称',align:'center',width:70},{name:'desc',label:'描述'},{name:'beizhu',label:'备注'},{name:'createtime',label:'创建时间',align:'center',type:'date',pattern:'yyyy-MM-dd HH:mm:ss'}]
})

参数

名称类型默认值描述
gridTitlestringnull[可选] 标题。
columnsarraynull[可选] 表头模型,适用动态生成表头,如果未设置本参数,将自动转化静态表头为模型。详细请查看columns参数
dataarraynull[可选] 提供datagrid需要的数据,如果同时设置有dataUrl参数,本参数优先级高。
dataUrlstringnull[可选] Ajax请求数据的URL。返回数据模板: 
JSON:{totalRow:50, pageCurrent:1, list:[{name:'孙悟空',sex:true}, {name:'美国队长', true}]} 
Array:{totalRow:50, pageCurrent:1, list:[['孙悟空',true], ['美国队长', true]]}
注意:分页参数totalRow、pageCurrent、pageSize的key值引用的框架初始化时的pageInfo配置。
postDataobject{}[可选] ajax请求发送到服务器的数据。
loadTypestringPOST[可选] Ajax请求方式。
dataTypestringjson[可选] 数据类型,可选参数['json' | 'array' | 'xml']。
hiddenFieldsarraynull[可选] dataType='array'有效隐藏字段,可以将不能加载到页面上的值设置到给定的字段,array数据除去表头的列后依次赋值。
localstringremote[可选] 处理数据方式,可选参数['local' | 'remote'],(影响(分页、排序、筛选))。
fieldSortablebooleantrue[可选] 点击页头字段快速排序。普通表格转为datagrid的,需设置dataUrl参数,local = 'remote'
filterTheadbooleantrue[可选] 允许表格头部快速筛选。普通表格转为datagrid的,需设置dataUrl参数,local = 'remote'
sortAllbooleanfalse[可选] 排序范围,true = 所有数据排序, false = 当前页数据排序。普通表格转为datagrid的,默认为true
filterAllbooleanfalse[可选] 筛选范围,true = 从所有数据中筛选,false = 从当前页数据中筛选。普通表格转为datagrid的,默认为true
filterMultbooleantrue[可选] 支持多字段筛选。
initFilterobject{}[可选] 初始化字段筛选。
linenumberAllbooleanfalse[可选] 行号范围,true = 为所有数据编号,false = 为当前页数据编号。
showLinenumberboolean/
string
true[可选] 是否显示行号,参数[true | false | 'lock'],lock参数 = 锁定行号列(适用于多列字段,出现横向滚动条的情况)。
showCheckboxcolboolean/
string
false[可选] 是否显示行复选框,参数同上。
showEditbtnscolbooleanfalse[可选] 是否显示编辑按钮列。
showToolbarbooleanfalse[可选] 是否显示工具条,需要设置参数toolbarItemtoolbarCustom
showNoDataTipboolean/stringtrue[可选] 没有获取到数据时显示的提示信息。可选参数[true | false,'自定义提示'],true = 框架默认提示['没有数据!'], false = 不显示。
toolbarItemstringnull[可选] 显示工具条按钮,可选参数['all, add, edit, cancel, save, del, import, export, exportf, |'],“all” = 显示所有按钮,“|” = 按钮组分隔符。
toolbarCustomstring/
object/
function
null[可选] 自定义的html内容或jQuery DOM对象,支持带返回值函数。
columnResizebooleantrue[可选] 允许调整列宽。
columnMenubooleantrue[可选] 表头字段列上显示菜单按钮。
columnShowhidebooleantrue[可选] 表头字段列菜单上出现 “显示/隐藏 列” 选项。
columnFilterbooleantrue[可选] 表头字段列菜单上出现 “过滤” 选项。
columnLockbooleantrue[可选] 表头字段列菜单上出现 “锁定列、解除锁定” 选项。
pagingboolean/
object
true[可选] 是否显示分页组件,可设置分页参数。分页参数模板: {pageSize:30, selectPageSize:'30,60,90', pageCurrent:1, showPagenum:5, totalRow:0}
如果local='remote',并通过dataUrl参数请求json数据时,返回的数据要提供totalRow、pageCurrent参数,可提供pageSize参数 
注意:分页参数totalRow、pageCurrent、pageSize的key值引用的框架初始化时的pageInfo配置。
pagingAlignstringcenter[可选] 分页组件对齐方式,参数['left' | 'center' | 'right']
keysobject

[可选] 提交编辑数据时需要移除的数据key。

1 {gridChild:'gridChild',gridNumber:'gridNumber',gridCheckbox:'gridCheckbox',gridEdit:'gridEdit',gridIndex:'gridIndex',dropFlag:'dropFlag',treePTr:'datagrid.tree.parentTr',treePData:'datagrid.tree.parentData',childlen:'childlen',isExpand:'isExpand',isParent:'isparent'}
hasChildbooleanfalse[可选] 是否包含子表。
childOptionsobject

[可选] 子表参数。

1 {
2     width       : '100%', // 子表宽
3     height      : 'auto', // 子表高
4     paging      : false,  // 子表分页参数
5     columnMenu  : false,  // 子表列菜单
6     filterThead : false,  // 子表表头快速筛选
7     childUpdate : false   // 子表改动时是否更新父表数据(需要主表有updateRowUrl参数支持),参数 (Boolean: true | false, true = 'all') OR (String: 'all, add, edit, del')
8 }

 

isTreebooleanfalse[可选] 是否树型表。
treeOptionsobject

[可选] 树型表参数。

 1 {
 2     keys        : {
 3         key       : 'id',        // id
 4         parentKey : 'pid',       // 父id
 5         childKey  : 'children',  // 子列表数据key值
 6         childLen  : 'childlen',  // 子列表数据条数
 7         isParent  : 'isparent',  // 是否父数据
 8         level     : 'level',     // 层级
 9         order     : 'order',     // 顺序
10         isExpand  : 'isExpand'   // 子列表是否展开
11     },
12     simpleData  : true,          // 是否简单数据(array格式)
13     add         : true           // 显示添加按钮
14 }
dropOptionsobject

[可选] 拖动参数。

1 {
2     drop        : false,    // 拖动开关
3     dropUrl     : null,     // 拖动结束后,发送数据到该url
4     paging      : true,     // 是否发送分页参数
5     scope       : 'drop',   // 发送拖动数据范围,'drop' = '被拖动影响的数据','all' = '当前页全部数据'
6     beforeDrag  : null,     // function($tr, data),拖动前方法,返回false则不拖动
7     beforeDrop  : null,     // function(sourceData, descData, position),拖动到目标并放置之前方法,返回false则不放置,参数分别是:(源数据、目标数据、放置位置(append、before、after))
8     afterDrop   : 'POST'    // string 或 function($descTr, $sourceTr),如果是字符串并有dropUrl参数,则发送拖动数据到dropUrl,否则执行自定义方法
9 }
tdTemplatestring/
function(data)
null[可选] 格式化表格的数据模板,需配合参数templateWidth,当检测到窗口宽度小于templateWidth,就用tdTemplate模板格式化行数据。模板字符串示例:"<div><h1>标题:{#title}</h1><p>内容:{#content}</p></div>",使用{#字段key }可以替换当前行数据对应字段值。function示例:function(data) {return '<div><h1>标题:'+ data.title +'</h1><p>内容:'+ data.content +'</p></div>' }
templateWidthint600[可选] 当表格宽度小于设定值时,根据templateWidth参数格式化行数据。当值设为0时1.31,始终以自定义模板方式显示。推荐将参数值与参数dialogFilterW设置一致,以达到最佳效果。
dialogFilterWint360[可选] 当表格宽度小于设定值时,将表头的快速筛选更换为dialog模式。当值设为0时1.31,表头将固定为dialog模式。
editUrlstringnull[可选] 保存编辑、添加数据的url,Ajax请求方式为POST,服务器端接收的参数名称为"json",数据类型是JSON Array。editUrl支持行数据动态赋值,赋值id的例子:{editUrl:'news/edit?id={id}'}{id}部分会自动替换为该行数据的ID字段值。
editCallbackfunction(json)null[可选] 保存成功后的回调,返回的json内容可以是B-JUI默认的回调json或保存后的json数据,datagrid默认回调:如果返回保存后的json数据,将会更新对应的数据行
editModestring/
object
inline[可选] 编辑、添加数据的方式,参数[false | 'inline' | 'dialog']。false = 不能编辑,inline = 行内编辑,dialog = 弹窗编辑。自定义dialog方式:{dialog:{dialog参数}},自定义navtab方式:{navtab:{navtab参数}}
editDialogOpobjectnull[可选] 弹窗编辑方式时,设置弹出窗口的参数,如{width:500, height:300, mask:false}
inlineEditMultbooleantrue[可选] 允许行内编辑模式下同时添加/编辑多行。
saveAllbooleantrue[可选] 适用于多行行内编辑时,一次性保存全部数据,发送到服务器端数据格式见参数editUrl
addLocationstringfirst[可选] 添加新行数据于当前页的位置,参数['first' | 'last' | 'prev' | 'next'],参数prev和next参考当前选中行位置。
delUrlstringnull[可选] 删除数据的url,服务器端接收的数据见参数delPK
delTypestringPOST[可选] Ajax删除数据的请求方式。
delPKstringnull[可选] 设置删除主键名,如果设置了主键,则只发送该字段的值(删除多条则主键值以逗号分隔)到服务器端,否则发送JSON数据(参数名"json",数据类型为JSON Array)。
delConfirmboolean/
string
null[可选] 删除前的确认提示,参数[true | false | '自定义提示信息'],参数为false时不弹出提示信息。
delCallbackfunction(json)null[可选] 删除成功后的回调函数,返回的json内容为B-JUI默认的回调json。
jsonPrefixstringnull[可选] 发送到服务器端的json数据(name)加前缀,包括(保存、删除、筛选)操作。
contextMenuHbooleantrue[可选] 在表头上右键点击时出现 ”显示/隐藏列“ 的快捷菜单。
contextMenuBbooleanfalse[可选] 在数据行右键点击时出现快捷菜单,菜单选项有(刷新、添加、编辑、取消、删除)。
hScrollbarbooleanfalse[可选] 允许出现横向滚动条。
widthint/percentnull[可选] datagrid容器宽度,默认为父容器的宽,相当于'100%'。
tableWidthint/percentnull[可选] 表格的宽度,默认是各列宽度之和。
heightint/percent300[可选] datagrid容器高度。
importOptionobjectnull[可选] 工具栏的导入按钮参数,dialog或navtab方式打开导入页面,参数模板{type:"dialog", options:{url:'', width:400, height:200}}
exportOptionobjectnull[可选] 工具栏的导出按钮参数,执行ajax url或以dialog or navtab方式打开导出页面,参数模板{type:"ajax", options:{url:""}}
beforeEditfunctionnull[可选] 带返回值方法,编辑数据前调用,返回true继续编辑,返回false取消编辑。
beforeDeletefunctionnull[可选] 带返回值方法,删除数据前调用,返回true继续删除,返回false取消删除。
afterSavefunction($trs, datas)null[可选] 保存成功后执行方法,参数$trs为保存行(jQuery 对象),datas为保存行对应数据(JSON Array)。
afterDeletefunctionnull[可选] 删除成功后执行方法。

columns参数

名称类型默认值描述
namestringnull[可选] 该列字段名(关联json数据、xml数据、编辑及保存的数据)。未设置name将不能进行添加\编辑\快速筛选\排序等操作
labelstringnull[可选] 显示的列标题。
widthintauto[可选] 列宽。
alignstringleft[可选] 对齐方式(left、center、right)。
typestringstring[可选] 数据类型(string、boolean、select、textarea、date、findgrid、spinner、tags)。
alignstringleft[可选] 对齐方式(left、center、right)。
addbooleantrue[可选] 允许该列添加数据。
editbooleantrue[可选] 允许该列编辑数据。
attrsobjectnull[可选] 编辑时,表单域的附加参数。示例:{readonly:'readonly'}
rulestringnull[可选] 编辑时,表单域名的验证规则。示例:required;length(6)
itemsarray/functionnull[可选] 用于数据渲染或筛选\编辑时的select填充。array示例:[{'true':'男'}, {'false':'女'}],;array示例21.31:[{"sex":true, "name":"男"}, {"sex":false, "name":"女"}],需配合参数itemattr使用;function示例:function() {return $.getJSON('/datagrid/demo-items-state.js')}
itemattr1.31objectnull[可选] 用于正确获取items参数的内容。如items的array示例2,本参数设置为:{value:'sex',label:'name'}
renderfunction(value, data)null[可选] 将列数据渲染成其他样式,方法参数value为datagrid数据提供的原始值。组合显示示例:function(value, data){return value + '('+ data.name +')'},datagrid提供基于items的默认渲染:$.datagrid.renderItem
patternstringnull[可选] 配合type='date'使用,设置日期格式。示例:yyyy-MM-dd HH:mm
hidebooleanfalse[可选] 是否隐藏该列。
menubooleantrue[可选] 列上是否出现菜单按钮(如果是多表头,仅对字段列有效)。
lockbooleanfalse[可选] 是否锁定该列(尽量不用,影响速度)。
quicksortbooleantrue[可选] 允许点击该列进行快速排序。
quickfilterbooleantrue[可选] 允许该列进行表头快速筛选。
finalWidthbooleanfalse[可选] 固定该列的宽度,不受内容多少变更宽度。

方法

方法名参数类型参数说明描述
refresh(filterFlag)booleantrue = 保留筛选、排序、分页数据,false = 不保留刷新,重新加载数据。
reload(options)object同datagrid的options重载,使用新的options对应覆盖旧的options,生成一个新的datagrid,如果新的options有参数columns,将会直接替换旧的columns。
filter(data)1.31object需要筛选的数据快速筛选,以新提供的数据覆盖postData参数,重新向服务端请求数据,可以通过data提供boolean参数clearOldPostData,使框架保留或取消原有的postData参数。筛选name示例:$().datagrid('filter', {name:'张三'})
refreshParent(filterFlag)booleantrue = 保留父表的筛选、排序、分页数据,false = 不保留刷新父表数据,有父表数据时使用有效。
refreshChild(row, filterFlag)int/string/object, boolean单个数据行的索引、逗号分隔的行索引字符串、数据行的jQuery对象,filterFlag{true = 保留子表的筛选、排序、分页数据,false = 不保留}刷新子表数据,有子表数据时使用有效。
showChild(row, flag, func)int/string/object, boolean, function($childTable)单个数据行的索引、逗号分隔的行索引字符串、数据行的jQuery对象,flag{true = 显示,false = 隐藏},func是显示或隐藏子表后的回调函数。显示/隐藏指定数据行的子表。
updateRow(row, [updateData])int/string/object, object单个数据行的索引、逗号分隔的行索引字符串、数据行的jQuery对象,updateData是需要更新的JSON数据。更新指定数据行的数据。未指定参数updateData时,如果datagrid定义有updateRowUrl参数,则通过ajax获取对应的数据。
doAjaxRow(row, opts)int/string/object, object单个数据行的索引、逗号分隔的行索引字符串、数据行的jQuery对象,opts是doajax的相应参数。指定数据行执行ajax操作,opts的url参数支持当前行数据动态赋值,如{url:'doajax?id={id}'}{id}部分会自动替换为该行数据的ID字段值。如果opts未定义callback或okcallback参数,datagrid会执行updateRow(json)操作。
expand(row, expandFlag)int/string/object, boolean单个数据行的索引、逗号分隔的行索引字符串、数据行的jQuery对象,expandFlag{true = 展开,false = 折叠}。(仅适用于树表)展开/折叠子节点。
showLinenumber(flag)boolean/stringtrue | false, 'lock' | 'unlock'行号列:显示、隐藏、锁定、解除锁定。
showCheckboxcol(flag)boolean/stringtrue | false, 'lock' | 'unlock'复选框列:显示、隐藏、锁定、解除锁定。
showEditCol(tabids)booleantrue | false编辑按钮列:显示、隐藏。
showhideColumn(column, showFlag)object/int, booleancolumn = 列索引或字段列的jQuery对象,showFlag = true/false显示、隐藏某列。
selectedRows(rows, [selected])int/string/object, [boolean]单个数据行的索引、逗号分隔的行索引字符串、数据行的jQuery对象,[可选参数,选中|取消选中,默认选中]选中/取消选中行。
externalEdit(row, editOpts)int/object, object

参数:单个数据行的索引、数据行的jQuery对象,编辑参数(navtab或dialog)

自定义编辑,如果编辑url同datagrid的editUrl参数,则可以省略editOpts的url参数,url参数支持行数据动态替换。示例:

1 $('#j_datagrid').datagrid('externalEdit', 2, {
2     dialog: {
3         url: 'html/form/form.html?id={id}',
4         width: 500,
5         height: 400,
6         title: '编辑'
7     }
8 })
add(addLocation)string'first' | 'last' | 'prev' | 'next'添加行,参数参考datagrid参数addLocation
doEditRow(row)object/int数据行的jQuery对象或行索引。编辑行。
doCancelEditRow(row)object/int数据行的jQuery对象或行索引。取消编辑行。
doSaveEditRow(row)object/int数据行的jQuery对象或行索引。保存编辑行。
delRows(rows)int/string/object单个数据行的索引、逗号分隔的行索引字符串、数据行的jQuery对象删除行。
saveAll()----保存所有编辑行。
jumpPage(pageNum, [pageSize])int, int跳转页码(仅设置分页大小参数时,可设为null),[可选参数,页大小]跳转到指定页码。
destroy()----销毁datagrid。

获取数据

示例获取数据格式描述
$(table).data('filterDatas')objectdatagrid参数{local:'remote'}时有效。取得筛选数据,包含快速筛选、页码、排序信息。
$(table).data('selectedDatas')array取得选中行数据。
$(table).data('selectedTrs')jQuery Object取得选中行的jQuery对象。
$(table).data('allData')array取得当前(页/所有)数据。datagrid参数{local:'remote'}时取得当前页数据,否则取得所有数据。

Findgrid

Findgrid是一个dialog + datagrid的组合组件,它可以将datagrid的数据赋值到相应的表单域,或执行自定义的操作。

使用

通过data属性:

<input id="findgrid1" type="text" name="obj.xm" value="" data-toggle="findgrid" data-options="{group: 'obj',include: 'xm:name, description:desc',dialogOptions: {title:'查找职业'},gridOptions: {local: 'local',dataUrl: '../../json/datagrid/profession.json',columns: [{name:'name', label:'名称', width:100},{name:'desc', label:'描述'},{name:'date', label:'创建日期'}]}
}" placeholder="点放大镜按钮查找">

通过JS API:

BJUI.findgrid({group: 'obj',include: 'name3:name, description:desc',dialogOptions: {title:'查找职业'},gridOptions: {local: 'local',dataUrl: '../../json/datagrid/profession.json',columns: [{name:'name', label:'名称', width:100},{name:'desc', label:'描述'},{name:'date', label:'创建日期'}]}
})

  

参数

名称类型默认值描述
pkstringnull[可选] 行数据的主键值,当打开Findgrid窗口时,用来标记已选中项。
oldDatastring/arraynull[可选] 对应pk参数的值,参数multiple=true时,多个值以逗号分隔或提供array格式。
groupstringnull[可选] 选中后要赋值input的name前缀,如text的name为obj.name,那么group就是obj
suffixstringnull[可选] 选中后要赋值input的name后缀,如text的name为obj.name[],那么suffix就是[]
includestringnull[可选] 要赋值的input名称集合,多个以逗号,分隔。举例:如果有一堆表单域的name分别为obj.name, obj.sex, obj.age,如果只需要填充name和sex,那include就是name,sex,如果name对应的数据行的key是xm,那可以写作name:xm,sex,冒号前面是input的name,即将datagrid选中行的xm字段值赋值到obj.name域。
excludestringnull[可选] 与include相反,排除要赋值的input名称集合。注意:如果已设置include参数,则本参数无效。
multiplebooleanfalse[可选] 是否开启多行选择。
appendbooleanfalse[可选] 多选时的赋值模式,true = 追加(会有重复值),false = 替换。
emptybooleantrue[可选] 是否在Findgrid窗口上显示清空按钮。
dialogOptionsobject{id:null,mask:true,width:600,height:400,title:'Findgrid',maxable:true,resizable:true}[可选] Findgrid弹窗参数,请参考dialog参数设置。
gridOptionsobject{width:'100%',height:'100%',tableWidth:'100%',columnMenu:false}[必选] 请参考datagrid参数。
contextselector当前dialog或navtab[可选] 仅在指定的容器中查找待赋值input。
beforeSelectfunction(data)null[可选] 选中数据行时的事件回调函数,返回boolean,true = 继续执行,false = 取消赋值。
onSelectfunction(data)null[可选] 该函数用于替换Findgrid默认的赋值操作,data参数为选中行数据,单选时类型为object,多选时为array。
afterSelectfunction(data)null[可选] Findgrid的赋值操作完成后的回调函数。

分页组件1.31

分页组件Pagination,当触发页面跳转时,可以自定义回调函数或通过指定的form提交相应参数到服务端处理。

使用

通过data属性使用:

<ul id="pagination_test_ul1"></ul>
<div data-toggle="pagination" data-options="{total:1000, pageSize:5, callback:pagination_test_callback}"></div>
function pagination_test_callback(pageCurrent, pageSize) {BJUI.ajax('doajax', {url: 'http://b-jui.com/demo?callback=?',data: {pageCurrent:pageCurrent, pageSize:pageSize},dataType: 'jsonp',okCallback: function(json) {var lis = BJUI.StrBuilder()$.each(json.list, function(i, n) {lis.add('<li>').add(n.code).add(' - ').add(n.deptname).add(' - ').add(n.name).add(' - ').add(n.sex ? '男' : '女').add('</li>')})$('#pagination_test_ul1').html(lis.toString())}})
}

通过JS API属性使用:

<div id="test_pagination"></div>
$('#test_pagination').pagination({width: '50%',total:1000, pageSize:5, form:'#pagination_test_searchform'
})

  

参数

名称类型默认值描述
widthint/percent100%[可选] 分页组件的宽度。
pageSizeint30[可选] 页码大小。
selectPageSizestring'30,60,90'[可选] 可供选择的页码大小集合。
pageCurrentint1[可选] 当前页码。
totalint0[可选] 总记录数。
showPagenumint5[可选] 可供点击的页码个数。
formselectornull[可选] 触发页码跳转时向该form写入pageCurrent及pageSize参数,并提交该form。
callbackfunction(pageCurrent, pageSize)null[可选] 触发页码跳转时,执行该回调函数。注意:参数callback的优先级比form高。

分页相关参数

分页参数total、pageCurrent、pageSize的key值引用的框架初始化时的pageInfo配置。

方法

方法名参数类型参数说明描述
jumpPage(pageCurrent, [pageSize])int, [int]跳转页码,[页记录数]跳转到某个页面,可以改变现有页面记录数。
destroy()----销毁分页组件。

方法使用示例:

$('#test_pagination').pagination('jumpPage', 12)

 

最新版本:
版本号下载地址最后更新
v1.31点我下载2016/11/01
历史版本:
版本号下载地址最后更新
v1.3点我下载2016/10/21
v1.3 beta2点我下载2016/01/06
v1.3.beta点我下载2015/12/31
v1.2点我下载2015/05/22

转载于:https://www.cnblogs.com/jiathis/p/9550787.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vba xml 怎么设置父节点_熊二做了一个xml报文处理的开源库easyxml

❝自信、冷静、专注。—— TM 熊的自我勉励❞1. 前言熊二从去年开始&#xff0c;因项目需求接触到xml报文的处理&#xff0c;也是我第一次学习用C/C的方式处理基于DOM模型的xml报文。因为本人比较懒hhh&#xff0c;所以第一反应就是去看看网上有没有什么大家都在用的比较好的xm…

实例10:python

#题目&#xff1a;暂停一秒输出&#xff0c;并格式化当前时间。 #!/usr/bin/python -- coding: UTF-8 -- import time print (time.strftime(’%Y-%m-%d %H:%M:%S’,time.localtime(time.time()))) 暂停一秒 time.sleep(1) print (time.strftime(’%Y-%m-%d %H:%M:%S’,…

iview 可以选择当天 禁用_人脸识别刚要普及,怎么就被禁用了?|人脸识别|人脸信息|世超|rekognition...

点击播放 GIF 0.5M人脸识别大家都不陌生了&#xff0c;从 iPhone 上面的 Face ID 再到支付宝刷脸支付&#xff0c;这个曾经只有在科幻电影上面才能见到的技术逐渐变得越来越司空见惯。点击播放 GIF 0.4M按理来讲&#xff0c;一项方便的技术应该越来越普及才对&#xff0c;不过世…

oracle ytd,hana ytd计算

YTD解答方案要求&#xff1a;输出字段: 年月, YTD金额因为我这边只有system一个账号&#xff0c;就用system账号写合同表的结构和数据如下:create column table "SYSTEM"."CONTRACTS"("CONTRACT_ID" INTEGER null, --合同ID"START_DATE&qu…

linux 识别文件类型,技术|Linux 中 7 个判断文件系统类型的方法

文件通过文件系统在磁盘及分区上命名、存储、检索以及更新&#xff0c;文件系统是在磁盘上组织文件的方式。文件系统分为两个部分&#xff1a;用户数据和元数据(文件名、创建时间、修改时间、大小以及目录层次结构中的位置等)。在本指南中&#xff0c;我们将用 7 种方法来识别你…

二分归并排序算法_第五篇排序算法|归并排序

0x01&#xff0c;前言闲叙最近几年很少看电视了&#xff0c;因为没时间看了&#xff0c;除了偶尔刷刷头条&#xff0c;基本上不会花大块的时间沉迷于电视剧&#xff0c;综艺&#xff0c;这或许就是短视频时代所带来的一些改变吧&#xff0c;我们都会深受其中。0x02&#xff0c;…

linux系统访问文件夹ls,Linux系统目录结构,文件类型以及ls、alias命令

一、Linux目录结构登录系统之后&#xff0c;在当前命令窗口输入以下指令&#xff0c;/是Linux操作系统里最核心的一个目录&#xff0c;所有的文件和目录全部在它下面&#xff0c;所以称为“根目录”&#xff1a;# ls / //列出根目录下的文件得到如图结果&#xff1a;如图上图所…

qq文件对方接收后一定会有提示吗_为什么微信、QQ不推出已读功能?因为它敢出网友就敢卸载...

12月14日&#xff0c;腾讯 QQ突然发起了一个"很吓人"的调查——你希望 QQ 出已读功能吗&#xff1f;在短时间内&#xff0c;有 超过3000 人参与&#xff0c;其中有 2660 人(71.6%)投票 "你出我就卸载 QQ"选项&#xff0c;大家旗帜鲜明地表示&#xff0c;并…

实例11:python

#古典问题&#xff1a;有一对兔子&#xff0c;从出生后第3个月起每个月都生一对兔子&#xff0c; #小兔子长到第三个月后每个月又生一对兔子&#xff0c;假如兔子都不死&#xff0c;问每个月的兔子总数为多少&#xff1f; #!/usr/bin/python -- coding: UTF-8 -- #兔子的规律…

实例12:python

#判断101-200之间有多少个素数&#xff0c;并输出所有素数。 #程序分析&#xff1a;判断素数的方法&#xff1a;用一个数分别去除2到sqrt(这个数)&#xff0c;如果能被整除&#xff0c;则表明此数不是素数&#xff0c;反之是素数。 #!/usr/bin/python -- coding: UTF-8 -- #…

javascript用户登录_SAP HANA XS的JavaScript安全事项

公众号&#xff1a;matinal前言部分我们都知道web程序都有潜在的安全隐患问题&#xff0c;那么SAP HANA XS的JavaScript也是一样&#xff0c;使用服务器端JavaScript编写应用程序代码&#xff0c;也有潜在的外部攻击&#xff08;和风险&#xff09;。注意事项下面列出几点注意事…

实例13:python

#题目&#xff1a;打印出所有的"水仙花数"&#xff0c;所谓"水仙花数"是指一个三位数&#xff0c;其各位数字立方和等于该数本身。例如&#xff1a;153是一个"水仙花数"&#xff0c;因为1531的三次方&#xff0b;5的三次方&#xff0b;3的三次方…

spring的基本用法

关于spring的几种注入方式 理解类之间的关联关系 一&#xff0c;set注入 在这之前我们得spring的jar包&#xff0c;可以去官网下&#xff0c;添加到WebContent下 WEB-INF 下 lib里 这种方式就得首先实现set方法&#xff0c;现在以英雄&#xff08;Hero接口&#xff09;和武器&a…

linux下anaconda3安装教程,Ubuntu18.04 安装 Anaconda3的教程详解

Anaconda指的是一个开源的Python发行版本&#xff0c;其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包&#xff0c;Anaconda 的下载文件比较大(约 531 MB)&#xff0c;如果只需要某些包&#xff0c;或者需要节省带宽或存储空间&#xff0c;也可以使用…

实例14:python

#将一个正整数分解质因数。例如&#xff1a;输入90,打印出90233*5。 #对n进行分解质因数&#xff0c;应先找到一个最小的质数k&#xff0c;然后按下述步骤完成&#xff1a; #(1)如果这个质数恰等于n&#xff0c;则说明分解质因数的过程已经结束&#xff0c;打印出即可。 #(2)如…

call,apply,bind的用法与区别

1.call/apply/bind方法的来源 首先&#xff0c;在使用call&#xff0c;apply&#xff0c;bind方法时&#xff0c;我们有必要知道这三个方法究竟是来自哪里&#xff1f;为什么可以使用的到这三个方法&#xff1f; call&#xff0c;apply&#xff0c;bind这三个方法其实都是继承自…

幅值与峰峰值的计算_电厂振动测量、计算基础及汽轮机组振动标准!

法律顾问&#xff1a;张友全律师正文&#xff1a;电厂振动测量、计算基础及汽轮机组振动标准&#xff01;1. 常用的振动测量参数常用的振动测量参数有振幅、振动速度(振速)、振动加速度。对应单位表示为&#xff1a;mm、mm/s、mm/s。 振幅是表象&#xff0c;定义为在波动或振动…

实例15:python

#利用条件运算符的嵌套来完成此题&#xff1a;学习成绩>90分的同学用A表示&#xff0c;60-89分之间的用B表示&#xff0c;60分以下的用C表示。 #!/usr/bin/python -- coding: UTF-8 -- score int(input(‘输入分数:\n’)) if score > 90: grade ‘A’ elif score &g…

对比分析

【课程1.3】 对比分析对比分析 → 两个互相联系的指标进行比较绝对数比较&#xff08;相减&#xff09; / 相对数比较&#xff08;相除&#xff09; 结构分析、比例分析、空间比较分析、动态对比分析 import numpy as np import pandas as pd import matplotlib.pyplot as plt…

平面设计中的网格系统pdf_深入浅出,带你认识网格系统与版式设计

设计分享 研习设 设计Hello大家好&#xff0c;这里是研习设计分享。时不时分享/新鲜/有趣/有料/设计资讯和案例&#xff0c;欢迎大家订阅关注&#xff01;~预估阅读时间&#xff1a;10分钟ME研习设小研研&#xff1a;今天&#xff0c;和大家深入浅出&#xff0c;带你认识网格系…