首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

jQuery动态添加行删除行(tr)在ie下遇到有关问题

2013-09-17 
jQuery动态添加行删除行(tr)在ie下遇到问题先上代码function openNext(id,num){num++var symbola $(#i

jQuery动态添加行删除行(tr)在ie下遇到问题
先上代码


function openNext(id,num){
num++;
var symbola = $("#i"+id).val();
        //console.log("#i"+id);
        if(symbola =="+"){
$.ajax({  
              type:"POST",  
              url:"/5akg4j/sysMenus/findSub",  
              data:{id:id},   
              dataType:"json",
              error: function(){alert('加载错误,请重新操作。'); },              
              success:function(dates){  
           var records=dates.rows;
           if(typeof(records) == "undefined") {
           alert("没有子菜单");
return;
           }
        if(records.length==0){
    alert("取得值为空");
    }else{
    for(var i=records.length-1; i>=0;i--){
   var blank = "";
   for(var j = 0;j<num;j++){
   blank +="&nbsp;&nbsp;&nbsp;&nbsp;";
   }
   var str  =    "<tr id=""+records[i].id+""><td align="center"><input type="checkbox" name="checkOne""+
    "id="checkOne" value=""+records[i].id+"" /></td>"+
    "<td align="left">"+blank+records[i].id+"</td><td>";
   if(records[i].subcount>0){
   str += "<input type="button" id="i"+records[i].id+"" "+
    "onclick="openNext("+records[i].id+","+num+")" value="+" ></button>";
   } 
   str  +=    "</td><td align="center">"+records[i].name+"</td>"+
    "<td align="center">"+records[i].accurl+"</td>"+


    "<td align="center">"+records[i].sortid+"</td>"+
    "<td><a href="javascript:void(0);" onclick="dialogWindows('sysMenus/add?id="+records[i].id+"','#sysMenus');">"+
    "<i class="icon-plus"></i>新建菜单&nbsp;</a>"+
 "<a href="javascript:void(0);" onclick="editOneFun('sysMenus/edit','"+records[i].id+"')">"+
 "<i class="icon-edit"></i>编辑&nbsp;</a>"+
                 "<a href="javascript:void(0);" onclick="delOneFun('"+records[i].id+"')"><i class="icon-trash"></i>删除&nbsp;</a>"+
                 "<a href="javascript:void(0);" onclick="dialogWindows('sysMenus/roleAddSingle"+
                 "?id="+records[i].id+"','#sysMenus');"><i class="icon-user"></i>分配角色</a></td></tr>";
var newNode = $(str);    
   
   $("tr#"+id).after(newNode);
            
         }
     
        }
            }  
             
         }); 

        
$("#i"+id).attr("value","-");
        }
        else if(symbola=="-"){

        $.ajax({  
              type:"POST",  
              url:"/5akg4j/sysMenus/findSub",  
              data:{id:id},   
              dataType:"json",
              error: function(){alert('加载错误,请重新操作。'); },              
              success:function(dates){  


           var records=dates.rows;
        if(records.length==0){
    alert("取得值为空");
    }else{
    for(var i=records.length-1; i>=0;i--){
    
    
   if(records[i].subcount>0){
   console.log($("#i"+records[i].id).val());
   if($("#i"+records[i].id).val()=="-")
   openNext(records[i].id,0);
   }
   $("tr#"+records[i].id).empty();
    $("tr#"+records[i].id).remove();            
         }
     
        }
            }  
             
         });
       $("#i"+id).attr("value","+");
        }
}



使用的jquery是1.9.1 
在火狐浏览器运行正常 
现在遇到的问题是,在ie下点击这个按钮有时候没反应 按钮只从+变-或者从-变+,而不显示添加的行 
第二种bug是点+添加正常,点-删除行时只删除了根层方法里的,一但进入递归调用就停了 
并且上述两个bug一点开发人员工具就立刻消失,一切变得正常 
请各位朋友帮忙解决下问题哈 
[解决办法]
好像没看出什么问题。LZ可以加几个alert,在几个条件判断的地方,排摸JS执行的顺序

热点排行