dwz框架的table,页面初始化用ajax获取并设置表格内容后,表格没有点击事件等。

来源:互联网 发布:淘宝男士羽绒服 编辑:程序博客网 时间:2024/05/21 13:59

现象:调试时百思不得其解,在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="";//<div style='border-style:solid;border-color:#C8C8F7;border-width:1px;'>\r\n";            
            for(var i=0;i<rsdata.length;i++)
            {
              try
              {
                  var tbl_row;
                  tbl_row= "<tr target='' rel='0'>\r\n";          
                  tbl_row+="  <td align='left'>" + rsdata[i].right_bm + "</td>\r\n";
                  var menu_name_color=rsdata[i].right_bm.length==3?"<font color='red'>" + rsdata[i].meunname + "</font>":rsdata[i].meunname;
                  tbl_row+="  <td align='left' >" + menu_name_color + "</td>\r\n";
                  tbl_row+="  <td align='left' >" + rsdata[i].link_addr + "</td>\r\n";
                  tbl_row+="  <td align='left' >" + rsdata[i].imgname + "</td>\r\n";       
                  tbl_row+="  <td align='left' >" + rsdata[i].imgnameopen + "</td>\r\n";    
                        
                  tbl_row+="</tr>\r\n";
                  //追加到shtml中                  
                  shtml+=tbl_row;
              }
              catch(e)
              {
                alert(e.message);
              }
            }
            //shtml+="</div>\r\n";
            //alert(shtml);
            $div_menulist.html(shtml);
            //$('#div_sys_menu').find('.gridTbody').find("table").html(shtml);
            //!!调用dwz框架的初始化diaolog部分。
            //子页面$(function)加载完毕后js生成的<a target='dialog'>,要再初始化一下。否则不出对话框
            //alert('data初始化完成');
          }
        });
    }catch(e){alert(e.message);}
  }
原创粉丝点击