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脚本性能的优化方法
Feb 02 Javascript
javascript中判断一个值是否在数组中并没有直接使用
Dec 17 Javascript
在图片上显示左右箭头类似翻页的代码
Mar 04 Javascript
jquery实现翻动fadeIn显示的方法
Mar 05 Javascript
jQuery左侧大图右侧小图焦点图幻灯切换代码分享
Aug 19 Javascript
jQuery 全选 全部选 反选 实现代码
Aug 17 Javascript
js带闹铃功能的倒计时代码
Sep 29 Javascript
JS实现上传图片实时预览功能
May 22 Javascript
JS自定义滚动条效果简单实现代码
Oct 27 Javascript
Node层模拟实现multipart表单的文件上传示例
Jan 02 Javascript
详解将微信小程序接口Promise化并使用async函数
Aug 05 Javascript
Vue实现背景更换颜色操作
Jul 17 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
PHP对象Object的概念 介绍
2012/06/14 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
jquery星级插件、支持页面中多次使用
2012/03/25 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
2014/06/24 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
由ReactJS的Hello world说开来
2015/07/02 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
JavaScript的instanceof运算符学习教程
2016/06/08 Javascript
深入理解jQuery layui分页控件的使用
2016/08/17 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
浅谈angular2路由预加载策略
2017/10/04 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
vue接入腾讯防水墙代码
2019/05/07 Javascript
解决Python网页爬虫之中文乱码问题
2018/05/11 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
2020/08/07 Python
Django静态文件加载失败解决方案
2020/08/26 Python
意大利香水和彩妆护肤品购物网站:Ditano
2017/08/13 全球购物
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
法院实习人员自我鉴定
2013/09/26 职场文书
仓库理货员岗位职责
2013/12/18 职场文书
运输服务质量承诺书
2014/03/27 职场文书
学生请假条格式
2014/04/11 职场文书
公司投资建议书
2014/05/16 职场文书
建筑施工安全责任书
2014/07/24 职场文书
玄武湖导游词
2015/02/05 职场文书