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 相关文章推荐
PNG背景在不同浏览器下的应用
Jun 22 Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
May 19 Javascript
JavaScript中常用的验证reg
Oct 13 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
Dec 28 Javascript
正则验证小数点后面只能有两位数的方法
Feb 28 Javascript
bootstrap table 多选框分页保留示例代码
Mar 08 Javascript
jQuery轻松实现无缝轮播效果
Mar 22 jQuery
JS组件系列之MVVM组件构建自己的Vue组件
Apr 28 Javascript
详解vuejs之v-for列表渲染
Jun 22 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
Jul 13 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
Dec 16 Javascript
JS代码实现页面切换效果
Jan 10 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获取mysql数据库中的所有表名的代码
2011/04/23 PHP
Drupal7连接多个数据库及常见问题解决
2014/03/02 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
PHP7 弃用功能
2021/03/09 PHP
简单的JS多重继承示例
2008/03/13 Javascript
JavaScript 变量命名规则
2009/09/23 Javascript
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
JS读取cookies信息(记录用户名)
2012/01/10 Javascript
ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
2012/02/03 Javascript
jquery 缓存问题的几个解决方法
2013/11/11 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
2016/11/07 Javascript
利用transition实现文字上下抖动的效果
2017/01/21 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
NodeJS实现图片上传代码(Express)
2017/06/30 NodeJs
vue读取本地的excel文件并显示在网页上方法示例
2019/05/29 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
python输出决策树图形的例子
2019/08/09 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
python实现移动木板小游戏
2020/10/09 Python
Django 实现图片上传和下载功能
2020/12/31 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
学习保证书范文
2014/04/30 职场文书
2014年感恩节活动策划方案
2014/10/06 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
2016母亲节感恩话语
2015/12/09 职场文书
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js