首页 > 代码库 > 数据与视图分离2

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

数据与视图分离2