现象:调试时百思不得其解,在dwz.stable.js中,加一句alert,就有效果了,去掉之后又没了。
后来在dwz.stable.js中alert了一下tbody的内容,发现页面表格内容还是原来静态的内容,而不是ajax请求到的内容。
因此,估计是ajax异步造成的问题。
因为经观察,运行顺序是先加载jsp页面,然后执行页面的 $(function(),然后才会初始化dwz框架。
我的页面加载完后自动调用ajax获取内容并设置表格,由于ajax默认为异步,所以此时表格内容可能还没有设置,就已经开始初始化dwz.table了,因此在dwz.stable.js中调试,看到的还是table中的静态内容。
后来,把ajax请求改为同步,所有都正常了,就加一句话的问题呀!!! 搞了大半天。
$(function()
{
//alert('a');
//alert('b');
sys_menu__dispdata(1,20);
});
//显示菜单列表数据
function sys_menu__dispdata(curpage,perpage)
{
try{
//!!获取本页面的总div,然后从里面获取元素。因为dwz框架所有页面都在index中,所以id,class可能会重复
var $div=$('#div_sys_menu');
//alert($div);
//获取当前用户
var em_id=$div.find("#edt_userid").val();
//alert(em_id);
$.ajax({
type:"POST",
url:"oa_sys_manage",
data:"type=menu_list&curpage="+ curpage + "&perpage=" + perpage,
dataType:"json",
async:false,
success:function(data){
//alert("ajax over...");
//alert(data[0].rs.head.counts);
//alert(data[0].rs.body.length);
var rsdata=data[0].rs.body;
//alert(rsdata.length);
//填充分页面板
$div.find('#page_counts').text(data[0].rs.head.counts);
$div.find('#page_perpage').text(data[0].rs.head.perpage);
$div.find('#page_pages').text(data[0].rs.head.pages);
$div.find('#page_curpage').text(data[0].rs.head.curpage);
//填充分页数据
$div_menulist=$div.find("#tbl_menulist_body");
var shtml="";//
\r\n";
for(var i=0;i {
try
{
var tbl_row;
tbl_row= "\r\n";
tbl_row+=" " + rsdata[i].right_bm + " | \r\n";
var menu_name_color=rsdata[i].right_bm.length==3?"" + rsdata[i].meunname + "":rsdata[i].meunname;
tbl_row+=" " + menu_name_color + " | \r\n";
tbl_row+=" " + rsdata[i].link_addr + " | \r\n";
tbl_row+=" " + rsdata[i].imgname + " | \r\n";
tbl_row+=" " + rsdata[i].imgnameopen + " | \r\n";
tbl_row+="
\r\n";
//追加到shtml中
shtml+=tbl_row;
}
catch(e)
{
alert(e.message);
}
}
//shtml+="
\r\n";
//alert(shtml);
$div_menulist.html(shtml);
//$('#div_sys_menu').find('.gridTbody').find("table").html(shtml);
//!!调用dwz框架的初始化diaolog部分。
//子页面$(function)加载完毕后js生成的
,要再初始化一下。否则不出对话框
//alert('data初始化完成');
}
});
}catch(e){alert(e.message);}
}