`
wanggeying
  • 浏览: 63433 次
  • 性别: Icon_minigender_2
  • 来自: 济南
社区版块
存档分类
最新评论

表格内容动态更新实现

阅读更多

需求描述:

点击添加按钮,添加数据,表格(二维列表)内容动态更新

 

使用点:

1、动态更新新增内容:

$_scope.pagedResultInfo.list.push(saveDataDictionaryKey);

2、动态更新删除内容

$scope.pagedResultInfo.list.remove(data);

注意:是删除数组里面的对象,对象这个是在checkbox选择、取消时已处理好的。

伪代码示例如下:

jsp:

<table class="table table-bordered table-hover">

<thead>

<tr>

<td></td>

<td>字典</td>

<td>描述</td>

</tr>

</thead>

<tbody>

<tr data-ng-repeat="data in pagedResultInfo.list">

   <td data-ng-click="ckEvent(this,'{{data.id}}');">

   <label>

      <input type="checkbox" name="ckdict"  data-ng-checked="isSelected(data.id)" >

   </label>

   </td>

<td data-ng-click="queryValuePagedResult('{{data.id}}');"><a href="#">{{data.name}}</a></td>

<td>{{data.description}}</td>

</tr>

</tbody>

</table>

js:

/**

* checkbox事件

*/

var ckvalues=[];

var datas=[];//方便移除数据使用

Array.prototype.indexOf = function(val) {

for (var i = 0; i < this.length; i++) {

if (this[i] == val)

return i;

}

return -1;

};

Array.prototype.remove = function(val) {

var index = this.indexOf(val);

if (index > -1) {

this.splice(index, 1);

}

};

$scope.ckEvent=function($event, id){

$scope.isSelected = function(id){          

           return ckvalues.indexOf(id)!=-1; 

}

if(ckvalues.indexOf(id)>=0){

ckvalues.remove(id);

datas.remove($event.data);

}else{

ckvalues.push(id);

datas.push($event.data);

}

// console.log(ckvalues);

// console.log(datas);

}

var $_scope = $scope;//以为新增方法里有个$scope,所以重新定义个名字,用来处理动态增加的数据,

/**

* 新增视图

*/

$scope.addView = function(id) {

        $modal.open({

        templateUrl : urlManager.$staticViewUrls.$getUrl( 'static/basis/html/data/add-key-view' ),

backdrop : 'false',

controller : ['$scope','$state', '$modalInstance','DataDictionaryKeyService', function($scope,$state,$modalInstance,dataDictionaryKeyService) {

$scope.saveOne = function(saveDataDictionaryKey) {

$scope.isSaveSuccess = false;

dataDictionaryKeyService.saveOne( saveDataDictionaryKey ).success( function(responseData) {

$scope.isSaveSuccess = true;

$modalInstance.dismiss( 'cancel' );

saveDataDictionaryKey.id=responseData.moreData.data;//添加这个否则checkbox的id是空,功能不能使用

$_scope.pagedResultInfo.list.push(saveDataDictionaryKey);

} );

}

$scope.closeView = function() {

$modalInstance.dismiss( 'cancel' );

}

}],

});

/**

* 删除

*/

$scope.deleteOne = function(id) {

// messages.confirm( {

// title : '删除操作',

// message : '确定要删除信息吗?'

// } ).ok( function() {

// var objids=ckvalues;

// angular.forEach(objids, function(objid) {

// dataDictionaryKeyService.deleteOne(objid.id);

// });

// } );

// dataDictionaryKeyService.deleteOne(ckvalues[0]);

var objids=ckvalues;

angular.forEach(objids, function(objid) {

var a=dataDictionaryKeyService.deleteOne(objid);//

});

angular.forEach(datas, function(data) {

$scope.pagedResultInfo.list.remove(data);

});

ckvalues=[];

datas=[];

}

}

分享到:
评论

相关推荐

    使用C++ Qt开发的大屏监控界面源码,主要展示动态表格,精美大屏状态,过度动画,滚动动画等

    该界面采用Qt的UI框架进行开发,通过精心设计的UI元素和动态效果,... 总之,使用Qt开发的大屏监控界面,通过动态表格、精美大屏状态、过度动画和滚动动画等多种手段,为用户提供了一个功能强大、美观易用的监控平台。

    pyqt5 tablewidget 利用线程动态刷新数据的方法

    知道要用线程,所以就先尝试写了一个线程,然后每次都获取数据,然后直接通过这种方法来朝table里面更新数据。 #python代码 table=MainWindow_ui.tableWidget_2 table.setItem(i,0,QtWidgets.QTableWidgetItem(str...

    Tabletree4j Version 2

     对比之前的版本本次更新包括以下内容:  1.完整的包命名空间  2.自定义header footer  3.动态添加节点/动态删除节点/动态移动节点  4.动态dom对象创建表格树  5.完美支持json格式数据,支持xml(需转换)  6....

    AJAX基础概念、核心技术与典型案例(内涵动态实例)

    PostUser Ajax提交数据更新服务器内容 xmlhttpWeather 获取天气网站的内容 第11章(/C11/) 11.1.htm 采用标准的DOM方法创建一个表格并将其插入到页面中 11.2.htm 添加单元格 11.3....

    ASP.NET2.0中编程实现GridView与FormView的主-详细视图

    本文介绍了如何使用 GridView 和 FormView 控件来实现主-详细视图的设计,解决了着色显示鼠标所在行、通过单击鼠标所在行获取当前记录和用户对主视图分页操作时详细视图动态更新显示新记录详细信息三个问题。

    js实现的网页颜色代码表全集

    6. 动态生成表格:使用JavaScript脚本动态生成颜色表格和灰度表格,根据用户的选择实时更新表格的内容。 7. 事件处理:使用JavaScript脚本实现了事件处理功能,响应用户的交互操作,例如鼠标点击、鼠标移动等事件。...

    jQuery(非HTML5)可编辑表格实现代码

    而可编辑的单元格实际上是在选中单元格时,在单元格上面添加个input输入域,动态的更新数据源代码: HTML代码: 代码如下: ”editableTable”&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;Item1&lt;/th&gt; &lt;th&gt;Item2&lt;/th&gt; &lt;th&gt;Item3&lt;/th&gt; &lt;/tr&gt; ...

    基于Vue实现tab栏切换内容不断实时刷新数据功能

    在项目开发中遇到这样需求,就是有几个tab栏,每个tab栏对应的ajax请求不一样,内容区域一样,内容为实时刷新数据,实现方法其实很简单的,下面小编给大家带来了基于Vue实现tab栏切换内容不断实时刷新数据功能,需要...

    Java语言基础下载

    静态联编和动态联编 500 实例 500 内容总结 503 独立实践 504 第二十六章:JavaScript基础 505 学习目标 505 基本结构 506 JavaScript代码的加入 506 基本数据类型 506 常量 507 表达式和运算符 509 实例 511 ...

    HTML开发王

    18.3.3 使用框架和表格实现布局 18.3.4 实现主页默认中间模块 18.4 浏览产品 18.4.1 创建产品列表网页 18.4.2 创建产品详细信息 18.5 实现顶部广告模块 第19章 发布和管理网站 19.1 设置dreamweaver站点 19.1.1 了解...

    ASP EXCEL导入SQL

     平台服务层实现的都是共通的服务,服务之间是独立的,而且是插件式的方式来实现的,平台选用了面向分布式计算的Erlang语言来实现的,因此保证了这些插件式的服务能够热拔插地部署,实现真正地不宕机地部署与更新。...

    CRUD-Web-Page:使用JavaScript实现基本的CRUD操作

    CRUD 操作CRUD 代表创建、读取、更新和删除。 以上就是持久化存储的四个基本功能。 此外,首字母缩略词中的每个字母都可以指代在关系数据库应用程序中执行并映射到标准 HTTP 方法、SQL 语句或 DDS 操作的所有功能。 ...

    JSP动态网站开发基础教程与实验指导(从基础到应用)光盘

    6.3.4 更新及删除数据 142 6.3.5 数据库分页显示 143 6.3.6 连接Access数据库 145 6.4 扩展练习 147 第7章 JavaBean技术 150 7.1 JavaBean简介 150 7.1.1 JavaBean概念 150 7.1.2 JavaBean优点 152 7.2 JavaBean...

    易语言模块914个

    ACCESS到高级表格.ec Access操作.ec ACCSEE记录显示到超级列表框模块.ec ACSII加解密模块2.0.ec AD.ec ADO方式填充树型框.ec API操作模块.ec Base64编解码.ec BASE64编解码模块.ec Bios信息.ec BMP滤镜...

    深度学习(asp)网址导航系统 3.1.2(最新更新完美版)

    ·修订首页酷站大全具体内容数少于6个表格不齐 ·整站由分辨率800X600格式变更为1024X768格式 ·修订登录页 ·增加顶部栏目 ver2.1.7 ·修订误删主类别,子类别仍在bug (感谢deepdeep) ·整合网址大全表和名站导航表...

    致WEB前端开发者:IE6-IE11兼容性问题列表及解决办法

    IE6-IE11 兼容性问题列表及...解决办法是,使用 JavaScript 来实现动态样式。 了解 IE 浏览器的兼容性问题对我们前端开发者非常重要。通过了解这些问题和解决办法,我们可以更好地编写前端代码,避免出现兼容性问题。

    swfupload+Struts2多文件上传,有进度条,很漂亮的效果

    它还提供了一组简明的JavaScript事件,借助它们开发者可以方便的在文件上传过程中更新页面内容来营造各种动态效果。 默认的swfupload选择文件后,会自动开始上传,比较讨厌.因为我需要的还要等表格填完 我的代码把它...

Global site tag (gtag.js) - Google Analytics