zoukankan      html  css  js  c++  java
  • 数据与视图分离2

    1.用简单的方式操作table,现在有一个普通的table,比如要编辑某一行数据

      1.1获取选中的row

      1.2遍历row的cell

      1.3将得到的数据赋值给弹出框

      1.4保存,上传给服务器

      1.5服务器响应完成,重新给row的cell赋值

    这个是比较传统的方式,在1.2这一步比较麻烦,因为每获取一个值就需要首先得到一个cell,显得非常臃肿,它可能是这样的

    var obj={};
    obj.p1=dom1.value;
    obj.p2=dom2.value;
    obj.p3=dom3.value;
    obj.p4=dom4.value;
    obj.p5=dom5.value;
    

    而且获取table 内的dom也并不是一件欢快的事,太无聊了,现在我们使用一个比较容易的方法来获取数据

    2.用另一个方法来操作table

      2.1声明一个数组,如objList

      2.2将数据push进去

      2.3给每一行row添加一个id

    当我们需要编辑的时候

      2.4获取选择的row的id

      2.5根据id在objList中找到这个对象

      2.6将数据赋值给弹出框

      2.7保存,上传给服务器

      2.8服务器响应完成,重新给row赋值

      2.9更新objList

    获取数据的代码长这个样子

     var id=dom.id;
     var obj=objList.select("id",id);
    

    我在这里给数组的原型写了一个select方法,具体代码在上一篇博客中

    更新数组的代码长这个样子

    var obj=返回的结果;
    var index=objList.getIndex("id",obj.id)
    objList.splice(index,1,obj);
    

    getIndex方法同上

    各位看官到这里应该明白我的意思了,获取dom元素的值是件麻烦事,尤其是当数据非常多的时候,需要一个一个读取,异常恶心,于是我就搞了一个堆放数据的Model,并用id和dom元素进行关联,仅此而已,各位大大不要吐槽我,我是菜鸟

  • 相关阅读:
    linux部署docker镜像
    SpringBoot 定时任务篇
    POST形式 soapUI调用WebService的restful接口,传入json参数,并且返回json
    Java操作FTP工具类(实例详解)
    MyBatis逆向工程:根据table生成Model、Mapper、Mapper.xml
    Netty完成网络通信(二)
    NIO完成网络通信(一)
    MySQL5.6数据库8小时内无请求自动断开连接
    Eclipse集成Tomcat插件(特别简单)
    程序从sqlserver2008搬家到MySQL5.6
  • 原文地址:https://www.cnblogs.com/wen-wen/p/4187092.html
Copyright © 2011-2022 走看看