网站建设资讯

NEWS

网站建设资讯

js如何实现提交前对列表数据的增删改查-创新互联

这篇文章主要介绍js如何实现提交前对列表数据的增删改查,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

我们提供的服务有:做网站、网站建设、微信公众号开发、网站优化、网站认证、莒南ssl等。为成百上千企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的莒南网站制作公司

js实现列表数据的增删改查,AJAX提交后,js操作数据

最近工作中,有一处列表数据是页面初始化加载的,用户可以进行操作,因为这些数据并不存在数据库中,同时为了数据的整洁以及高效,所以要在页面进行增删改操作(其实查也可以,类似改),之前写过一个二维数组保存的,代码乱而且效率不高,后改用object 感觉还可以,主要是查询和删除的时候不需要自己遍历数组。

1. html

列表是用div+ul标签弄的,贴一些用到的片段

1.1 要展示的列表


  
  列表标题
  
     //列表数据   
         
  

1.2编辑框


  
  信息确认
  修改
  确认
  
  
  
  
   
  
  
   
  
  
   
   
  

贴一个大致实现效果

js如何实现提交前对列表数据的增删改查

2. js主要内容

先贴代码 再简单解释下

2.1 初始化


 var data=new Object();//操作的主要 定义成全局
 var curPage=1;//翻页靠他了
 $(function() { 
 $("#search").click(function() {//格式没正 其实我很别扭
 var tabList = "";//最后要放入的list数据 后面拼接li标签
  $.ajax({
  type: 'post',//get也可以 但是之前是要修改东西
  url: '<%=request.getContextPath()%>/home/getlist',
  dataType: 'json', 
  data:{name : name},
  success: function (result) {
   var jsonArr = jQuery.parseJSON(result);//返回的是字符串,也可以controller返回对象,用不用parse了
   var arrSize = jsonArr.length;
   var pagetotal = Math.ceil(arrSize/9);//总页数 向上取整,一页展示9条

   data = new Object();//每次搜索要重置下data  
   $.each(jsonArr,function(index,value){给data赋值
   var temp = new Object();
   temp.id = value.id;
   temp.name= value.name;
   temp.class= value.class;
   temp.telphone = value.telphone;
   data[value.id] = temp;
   }) 

   var count = 0;//为了后面的break做个条件 
   for(var i in data){//为什么循环data而不是 jsonArr,因为jsonArr的前九个和data的前九个有可能是不一样的,因为Object key为数字时会自
   if(count==9)break;//动根据key排序。自己可以验证下 本人已认证
    tabList += ''+
    ''+
     data[i].name
    +''+
    ''+
     ''+
    ''+
    '';
    count++;
   }

   //少于三页 不显示上页下页 
   var tips = '共'+arrSize+'条

';    if(pagetotal<=3){    tips +='';    for(var i=0; i++; i'+i+'';    }    tips += '';    }else{    tips += ''+      ' 1 '+      ' 2 '+      ' 3 '+      ' > '+     '';    }    $("#tab-list").html(tabList);    $(".page-f").html(tips);    $(".page-f").show();   }   }); }

初始化后就有了列表,上面用到了翻页函数 turnPage 先实现分页

function turnPage(page){
 curPage = page;
 var dataLength = 0;
 var count = 0;
 for(var o in data){
  dataLength++;
 }
 var pagetotal = Math.ceil(dataLength/9);
 if(page>pagetotal){//给删除用的 ,删了一页的话 大页码就减一了
  turnPage(page-1);//譬如你在最后一页(18页)删光了 这时候应该去第17页
  return;
 }
 var yzsTabList ="";
 for(var o in data){  
  if(count>=(page-1)*9){
  tabList += ''+
  ''+
   data[o].name
  +''+
  ''+
   ''+
  ''+
  '';
  } 
  count++;
  if(count == page*9){
  break;
  }
 }
 //少于三页 不显示上页下页 
 var tips = '共'+dataLength+'条

'+    '';  if(pagetotal<=3){   tips +='';   for(var i=0; i++; i'+i+'';   }else{    tips += ''+i+'';   }     }  }  else{   if(page!=1){//前三页不能有上一页的标签 最后一页的时候不能有下一页的标签   tips += '< '+    ''+(page-1)+''+    ''+ page +'';   if(page != pagetotal){    tips += ''+(page+1)+''+     ' > ';   }   }else{   for(var i=3; i>0; i--){    if(page == (4-i)){    tips += ''+(4-i)+'';    }else{    tips += ''+(4-i)+'';    }     }   tips += ' > ';    }    }   tips += '';  $("#tab-list").html(tabList);  $(".page-f").html(tips);  $(".page-f").show();  }

逻辑也不是特别难,接下来做删除,修改还要涉及另一个div的操作。贴代码+注释

function removeStu(id){
 if($("#stuid").val()==id){//stuid是我在修改框里加的隐藏id 当你查看这个人
  $("#tab-input-f").hide();//的时候,要删掉这个信息 应该把修改框隐藏
 }
 delete data[id];//简单的一句话 从data里删除这个数据,要是数组还要循环匹配
 $("#info"+id).remove();//页面删除 其实也可以删掉 因为下面要重构数据
 turnPage(curPage);//翻页 删除一条 下一条要补上来
 }

以上是“js如何实现提交前对列表数据的增删改查”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道!

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:js如何实现提交前对列表数据的增删改查-创新互联
当前网址:http://cdweb.net/article/disdcd.html

其他资讯