当前位置: 首页 > 工具软件 > Dwz_group > 使用案例 >

DWZ(JUI)查找带回实现回调函数

殳睿
2023-12-01

分析以及解决办法

原来的功能只是将查找带回页面的值带回到输入框里,但实际项目要求带回来数据后立即触发JS函数,即实现回调函数。

这里有三个Q&A:

1.在哪里触发回调函数最合适?
在带回时触发最合适。

2.带回时怎么获取到回调函数并执行?
给_lookup对象增加存放回调函数的属性。

3.如何给lookup对象的回调属性赋值?
在放大镜a标签里自定义回调属性,然后通过JQ的attr方法传值到_lookup对象里。

代码实现

//a标签里自定义回调属性callback
<a class="btnLook" href="xxx" lookupGroup="xxx" callback="yourFunc()" title="选择xx"></a>

//在dwz.database.js里给_lookup 增加回调属性callback
var _lookup = {currentGroup:"", suffix:"", $target:null, pk:"id",callback:null,parentRefer:null,isChild:null};

//在dwz.database.js里给设置_lookup对象的函数里增加回调函数设置
lookup: function(){
            return this.each(function(){
            ......
                $this.click(function(event){
                    _lookup = $.extend(_lookup, {
                        ......
                        //获取a标签里的回调函数
                        callback: $this.attr("callback")||"",
                        ......
                    });

//在dwz.database.js里的带回方法里增加触发回调函数的代码
$.extend({
        bringBackSuggest: function(args){
        ......
            //获取回调函数并触发
            var callback = _lookup['callback'];
            if(callback!=null&&callback!='') {
                try {
                    eval(callback);
                } catch (e) {
                }
            }
        ......  
 类似资料: