原来的功能只是将查找带回页面的值带回到输入框里,但实际项目要求带回来数据后立即触发JS函数,即实现回调函数。
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) {
}
}
......