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元素进行关联,仅此而已,各位大大不要吐槽我,我是菜鸟

  • 相关阅读:
    MFC总结
    工作项目总结
    关于多线程使用sqlite3的问题
    vs调试时,不显示局部变量
    oracle和mysql互相迁移
    oracle如何设置ip访问数据库
    win7 安装oracle 11g图文步骤
    Mybatis传参
    别纠结mybatis啦,赶紧来瞅瞅吧
    程序员和管理常用的网站地址
  • 原文地址:https://www.cnblogs.com/wen-wen/p/4187092.html
Copyright © 2011-2022 走看看