在前台开发过程中,出现combobox中的回调函数执行两次的情况,谷歌并亲测原因如下:
$("#exflag").combobox({
editable : false,
url:${rootPath}/rnCode/rnResultListByGroupid?groupid="+rec.groupid+"&codetype=28",
valueField : 'codeval',
textField : 'codename',
onLoadSuccess : function(){
alert('run');
}
})
执行结果:alert执行两次。
<input id = 'exflag' name = 'exflag' class='easyui-combobox'>
原因:在html中定义了组件,并且声明了class为easyui-combobox,这样页面加载的时候easyui解析class代码的时候先解析class声明中的combobox,这样组件就请求一次url,执行一次回调函数。然后js初始化combobox组件时,又请求一次url,再次执行回调函数,最终导致回调函数执行两次。