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函数
Dec 22 Javascript
基于jquery的loading 加载提示效果实现代码
Sep 01 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
Jul 23 Javascript
JavaScript 对象深入学习总结(经典)
Sep 29 Javascript
浅析jquery数组删除指定元素的方法:grep()
May 19 Javascript
vue中路由验证和相应拦截的使用详解
Dec 13 Javascript
实例详解ztree在vue项目中使用并且带有搜索功能
Aug 24 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
Oct 18 Javascript
使用Node.js在深度学习中做图片预处理的方法
Sep 18 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
Feb 12 Javascript
vue cli4下环境变量和模式示例详解
Apr 09 Javascript
vue 监听 Treeselect 选择项的改变操作
Aug 31 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
利用递归把多维数组转为一维数组的函数
2006/10/09 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
Javascript 获取LI里的内容
2008/12/17 Javascript
JQuery 插件模板 制作jquery插件的朋友可以参考下
2010/03/17 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
JS 实现导航栏悬停效果
2013/09/23 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
js使用心得分享
2015/01/13 Javascript
jQuery修改class属性和CSS样式整理
2015/01/30 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
2015/03/03 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
jquery动态赋值id与动态取id方法示例
2017/08/21 jQuery
vue.js使用watch监听路由变化的方法
2018/07/08 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
vue自定义组件实现双向绑定
2021/01/13 Vue.js
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python获取本机mac地址和ip地址的方法
2015/04/29 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
对pandas处理json数据的方法详解
2019/02/08 Python
python如何保存文本文件
2020/06/07 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
CSS3实现可关闭的下拉手风琴菜单效果
2015/08/31 HTML / CSS
腾讯公司的一个sql题
2013/01/22 面试题
党员个人剖析材料(四风问题)
2014/10/07 职场文书
自荐信怎么写
2015/03/04 职场文书
辣妈辣妹观后感
2015/06/10 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
Java后台生成图片的完整步骤
2021/08/04 Java/Android
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL