Angular动态添加、删除输入框并计算值实例代码


Posted in Javascript onMarch 29, 2017

Angular动态添加、删除输入框并计算值实例代码

摘要: 在学习群中交流时,有人分享了一个动态添加输入框的方法,我在其基础上进行了一些改进

这个功能本身并不复杂,但还是要注意,每个ng-model的对象必须是不同的,这样才能把它们分隔开。

下面是完整代码:

JS:

angular.module("myApp",[])
 .controller("inputController",function($scope){
    $scope.items=[];  //初始化数组,以便为每一个ng-model分配一个对象
    var i=0;
    $scope.getResult=function(){   //计算输入框的总值
      var result=0;
      angular.forEach($scope.items,function(item,key){
        result+=parseInt($scope.items[key]);
      })
      $scope.result=result;
    }

    $scope.Fn= {
      add: function () {     //每次添加都要给items数组的长度加一
        $scope.items[i] = 0;
        i++;
      },
      del: function (key) {   //每次删除一个输入框都后要让i自减,否则重新添加时会出bug
        console.log(key);
        $scope.items.splice(key, 1);
        i--;
        $scope.getResult();  //每次删除时得重新计算总值
      }
    }

  })

HTML:

<body ng-controller="inputController">
  <div ng-repeat="(key,item) in items track by $index">  <!-- 借助track by $index进行循环-->
     <input ng-model="items[key]"/><button ng-click="Fn.del(key)">删除</button>
  </div>

{{result}}
<button ng-click="Fn.add()">Add</button>
  <button ng-click="getResult()">Result</button>
</body>

应该没有什么bug。但如果有什么更漂亮的做法,恳请大神分享一下,因为我知道这样写并不是很优雅。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
javascript按位非运算符的使用方法
Nov 14 Javascript
浅析jQuery1.8的几个小变化
Dec 10 Javascript
js导出txt示例代码
Jan 14 Javascript
基于Node.js实现nodemailer邮件发送
Jan 26 Javascript
JQuery EasyUI的使用
Feb 24 Javascript
简单解析JavaScript中的__proto__属性
May 10 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
Aug 16 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
Jan 19 Javascript
小程序关于请求同步的总结
May 05 Javascript
微信小程序实现传递多个参数与事件处理
Aug 12 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 Javascript
让Vue响应Map或Set的变化操作
Nov 11 Javascript
JS变量及其作用域
Mar 29 #Javascript
如何使用Bootstrap 按钮实例详解
Mar 29 #Javascript
Vue 2.0 服务端渲染入门介绍
Mar 29 #Javascript
vue2组件实现懒加载浅析
Mar 29 #Javascript
整理关于Bootstrap排版的慕课笔记
Mar 29 #Javascript
如何使用Bootstrap创建表单
Mar 29 #Javascript
Bootstrap 响应式实用工具实例详解
Mar 29 #Javascript
You might like
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
2007/03/15 PHP
PHP 命令行参数详解及应用
2011/05/18 PHP
基于Snoopy的PHP近似完美获取网站编码的代码
2011/10/23 PHP
PHP获取文件后缀名的三个函数
2012/10/15 PHP
php daddslashes()和 saddslashes()有哪些区别分析
2012/10/26 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
EXT中xtype的含义分析
2010/01/07 Javascript
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
原生的html元素选择器类似jquery选择器
2014/10/15 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
谈一谈jQuery核心架构设计
2016/03/28 Javascript
js 求时间差的实现代码
2016/04/26 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
TableSort.js表格排序插件使用方法详解
2017/02/10 Javascript
简单谈谈gulp-changed插件
2017/02/21 Javascript
JS和JQuery实现雪花飘落效果
2017/11/30 jQuery
elementUI中Table表格问题的解决方法
2018/12/04 Javascript
js实现转动骰子模型
2019/10/24 Javascript
vue改变循环遍历后的数据实例
2019/11/07 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
[43:35]EG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python实现简单的四则运算计算器
2016/11/02 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
与UNIX有关的几个名词
2015/09/17 面试题
授权委托书格式
2014/07/31 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
仓库管理制度范本
2015/08/04 职场文书
python图像处理 PIL Image操作实例
2022/04/09 Python