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中的Array对象使用说明
Jan 17 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
Mar 19 Javascript
JQuery中操作Css样式的方法
Feb 12 Javascript
javascript模拟php函数in_array
Apr 27 Javascript
基于jquery实现全屏滚动效果
Nov 26 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
Dec 28 Javascript
AngularJS用户选择器指令实例分析
Nov 04 Javascript
JavaScript中的E-mail 地址格式验证
Mar 28 Javascript
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
vue如何限制只能输入正负数及小数
Jul 04 Javascript
微信小程序实现页面分享onShareAppMessage
Aug 12 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
Jul 18 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
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
IE6浏览器下resize事件被执行了多次解决方法
2012/12/11 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
2012/12/19 Javascript
jquery无法设置checkbox选中即没有变成选中状态
2014/03/27 Javascript
Js为表单动态添加节点内容的方法
2015/02/10 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
2018/02/09 Javascript
Python中文编码那些事
2014/06/25 Python
基于python实现微信模板消息
2015/12/21 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
Python稀疏矩阵及参数保存代码实现
2020/04/18 Python
基于python实现坦克大战游戏
2020/10/27 Python
Python实现随机爬山算法
2021/01/29 Python
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
计算机专业自荐信
2014/05/24 职场文书
森林病虫害防治方案
2014/06/02 职场文书
公司收款委托书范本
2014/09/20 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
老干部工作汇报材料
2014/10/28 职场文书
项目建议书
2015/02/04 职场文书
工作岗位职责范本
2015/02/15 职场文书
Ajax常用封装库——Axios的使用
2021/05/08 Javascript
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL