在解决完jeecgt3.5中的这个问题:jeecg3.5中实现从一个页面跳转到另一个页面 后,发现数据会被加载两次,在网上找了半天也没找到原因,最后发现是由于调用datagrid方法太快引起的,解决方法为使用setTimeout延迟执行datagrid方法,具体如下:
$(function() {
//延迟200毫秒执行,否则easyui会加载两次数据
setTimeout(init, 200);
});
function init() {
//alert($('#jeecgDemoList'));
var href = decodeURIComponent(window.location.href);
//alert(href);
var idx = href.indexOf('selectedParams');
if (idx != -1) {
idx = href.indexOf("{", idx);
if (idx != -1) {
var endIdx = href.indexOf("}", idx);
if (endIdx != -1) {
var selectedParams = href.substring(idx, endIdx + 1);
var jsonParam = $.parseJSON(selectedParams);
$('#jeecgDemoListtb').find('*').each(function() {
if (jsonParam[$(this).attr('name')] != undefined) {
if ($(this)[0].tagName == "SELECT") {
//$(this).attr("value", "0");
$(this).val(jsonParam[$(this).attr('name')]);
} else if ($(this)[0].tagName == "INPUT") {
$(this).val(jsonParam[$(this).attr('name')])
}
}
});
}
}
}
jeecgDemoListsearch();
}