1. 程式人生 > >DWZ(JUI)查詢帶回實現回撥函式

DWZ(JUI)查詢帶回實現回撥函式

分析以及解決辦法

原來的功能只是將查詢帶回頁面的值帶回到輸入框裡,但實際專案要求帶回來資料後立即觸發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) { } } ......