本节主要介绍框架的查找带回功能,流程:1. 打开一个呈现数据的弹出窗口;2. 选择一个或多个值,将值返回到触发页面对应的input;3. 关闭弹出窗口。

关于动态更换url:如果需要动态更换lookup的url,需要为lookupbtn新增属性data-newurl,如:
                $('input').parent().find('a.bjui-lookup').data('newurl', 'new url') //通过input框修改附加按钮的url
                $('lookupbtn').data('newurl', 'new url')                            //直接修改lookup按钮的url
            

初始化

参数(options)

名称 类型 默认值 描述
url string null [必选] D-Url 打开lookup的URL,a链接触发时可以将url定义在href属性。。
inputFilter string null 1.4.3+ [可选] input的[data-filter]过滤,设置此属性仅对符合[data-filter]属性的input进行赋值
autoAssign bool true 1.4.3+ [可选] 选中项次后是否自动赋值,可与beforeSelect搭配,实现完全自定义控制回调
group string null [可选] input的名称,适用于input名称为"aa.bb"的形式,其中 group为:aa
suffix string null [可选] input的名称后缀,适用于input名称为"abcd[]"或"aa.bb[]"的形式,其中 suffix为:[]特别注意:如果真实情况suffix为"[]",请写为" []",空格加"[]",以防止被转义为空数组。
arrayfix string null [可选] input的名称后缀,适用于input名称为"[abcd]"或"aa[abcd]"的形式,一般用于PHP语言下可编辑表格数组拼接
id string lookup_dialog [可选] 弹出窗口的id。
mask boolean true [可选] 是否弹出模态窗口。
width int 600 [可选] 弹出窗口的宽度。
height int 400 [可选] 弹出窗口的高度。
title string Lookup [可选] 弹出窗口的标题,单击触发时,如未明确定义title,将取元素的text值作为title。
maxable boolean true [可选] 弹出窗口可以最大化。
resizable boolean true [可选] 弹出窗口可以调整大小。
open boolean true 1.1.9+ api实例化是否自动打开弹窗,可与addBtn搭配实现手动实例化组件
addBtn boolean false 1.1.9+ api实例化是否新增图标点击。
block boolean false [可选] 生成包裹器是否为 display: block;
beforeSelect function null [可选] 选中目标赋值之前,返回false则停止赋值关闭窗口动作。
function(val) 回调参数val为赋值参数
1.1.8+ function(val, valArray, type) 回调参数val为赋值参数,回调参数valArray选中数据的array集,type是否追加

api回调赋值

事件名称 版本 说明 参数 使用方法 参数说明
setValCustom 1.7.3+ 自定义回调结果 (val: object, valArray: array, isAppend: boolean) $(target).lookup('setValCustom', val, valArray, isAppend) target必须为查找带回弹出框内元素,isAppend:是否追加,val为赋值object,当autoAssign为true时遵循配置项规则,参数对应beforeSelect

事件

事件名称 中文说明 描述
afterchange.bjui.lookup 带回值后的事件 监听该事件,可以在input取得返回值后进行相关操作。

这样监听lookup的事件:mylookup - selector表示lookup赋值了的input选择器

            $('mylookup - selector').on('afterchange.bjui.lookup', function(e, data) {
                var myvalue = data.value

                // do something...
            })