ionic中列表项增加和删除的实现方法


Posted in Javascript onJanuary 22, 2017

 在项目中遇到表单似的页面,需要进行增加一行和减少一行的操作,例如:

ionic中列表项增加和删除的实现方法 

要实现可以选中商品,以及对商品的信息列表进行显示与否的操作

html代码如下:

<div class="chanpinxiangqing">
 <div class="item item-divider">产品明细</div>
 <div class="chanpinxiangqing" ng-repeat="master in masters">
  <div class="item item-divider">
   <div class="" ng-click="selectorOne($index)" style="display: inline-block;width: 50%;">
    <div class="chioceHook sPround">
     <div class="ion-checkmark-round ng-hide" ng-show="master.checked" style=""></div>
    </div>
    <span style="margin-left:20px;">产品</span>
   </div>
   <div ng-click="upOrdown($index);" ng-class="{true:'up',false:'upDown'}[master.updown]"></div>
  </div>
  <ul class="rzInfo" ng-show="master.up">
   <li class="row">
    <span class="col-xs-5"><!--产品类型-->{{master.chanpinType}}</span>
    <select class="" ng-model="myselectType" mobiscroll-select="settings" mobiscroll-instance="demo">
     <option value="0">请选择</option>
     <option value="1">中药</option>
     <option value="2">西药</option>
    </select>
   </li>
   <li class="row">
    <span class="col-xs-5"><!--产品名称-->{{master.chanpinName}}</span>
    <select class="" ng-model="myselectName" placeholder="请选择" mobiscroll-select="settings" mobiscroll-instance="demo">
     <option value="0">请选择</option>
     <option value="1">注射剂</option>
     <option value="2">麻醉剂</option>
    </select>
   </li>
   <li class="row">
    <span class="col-xs-5"><!--规格-->{{master.guige}}</span>
    <select class="" ng-model="myselectGuige" placeholder="请选择" mobiscroll-select="settings" mobiscroll-instance="demo">
     <option value="0">请选择</option>
     <option value="1">10ml</option>
     <option value="2">20ml</option>
    </select>
   </li>
   <li class="row">
    <span class="col-xs-5"><!--单位-->{{master.danwei}}</span>
    <input type="text" name="" class="col-xs-8" value="" />
   </li>
   <li class="row">
    <span class="col-xs-5"><!--数量-->{{master.num}}</span>
    <!--<b class="" contenteditable="true" ng-model="dataclean" ></b>-->
    <input type="text" name="" class="col-xs-8" value="" />
   </li>
   <li class="row">
    <span class="col-xs-5"><!--单价(元)-->{{master.price}}</span>
    <input type="text" name="" class="col-xs-8" value="" />
   </li>
   <li class="row">
    <span class="col-xs-5"><!--总价-->{{master.total}}</span>
    <input type="text" name="" readonly class="col-xs-8" value="" />
   </li>
  </ul>
 </div>
</div>
<div class="" style="margin-top: 10px;padding:10px;text-align: right;background: #fff;"><span>合计发货总额:</span></div>
<div class="">
 <div class="btnadd" ng-click="add()">增加</div>
 <div class="btndel" ng-click="delete()">删除</div>
</div>

js代码:

//控制器及服务等
.controller('fhShenQingAddCtrl', function($scope, CONFIG, $ionicSlideBoxDelegate, $rootScope, $http, $ionicPopup, faHuoService, $timeout, $window, loading, tool) {
//产品下的类型名称及规格的选择弹窗设置
 $scope.settings = {
  theme: 'mobiscroll',
  lang: 'zh',
  display: 'center',
  cancelText: '取消',
  setText: '确定',
  onBeforeClose: function(event, inst) {
   if(event.button == "set") {
    $scope.startdate = event.valueText;//获取选择日期
    console.log($scope.startdate)
   } else if(event.button == "cancel") {
    console.log("取消")
   }
  }
 };
 //增加
 $scope.masters= [{'chanpinType':'产品类型',
     'chanpinName':'产品名称',
     'guige':'规格',
     'danwei':'单位',
     'num':'数量',
     'price':'单价(元)',
     'total':'总价',
     'checked':'true',//选中切换
     'updown':'true',//下拉内容显示切换
     'up':'true'//箭头上下切换
     }];
 $scope.add = function() {
  $scope.cope={'chanpinType':'产品类型',
     'chanpinName':'产品名称',
     'guige':'规格',
     'danwei':'单位',
     'num':'数量',
     'price':'单价(元)',
     'total':'总价',
     'checked':'true', //选中切换
     'updown':'true', //下拉内容显示切换
     'up':'true' //箭头上下切换
     };
  var bb = angular.copy($scope.cope);
  $scope.masters.push(bb) 
  console.log($scope.masters)
 };
 //删除
 $scope.delete = function() {
  var arr = [];
  angular.forEach($scope.masters,function(item,index){
   if(!item.checked){
    arr.push(item);     
   }
  })
  //console.log(arr)
  $scope.masters = arr;
 };
 //切换箭头的上下指向这里写代码片
 $scope.upOrdown = function(rowNumber){
  console.log($scope.masters[rowNumber].updown)
  $scope.masters[rowNumber].up = !$scope.masters[rowNumber].up;
  $scope.masters[rowNumber].updown=!$scope.masters[rowNumber].updown;
 };
 //某一行选中
 $scope.selectorOne = function(rowNumber) {
  console.log($scope.masters[rowNumber].checked)
  $scope.masters[rowNumber].checked = !$scope.masters[rowNumber].checked;
 };
})

完成的效果为:

点击前

ionic中列表项增加和删除的实现方法

点击后

ionic中列表项增加和删除的实现方法

以上所述是小编给大家介绍的ionic中列表项增加和删除的实现方法,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js验证模型自我实现的具体方法
Jun 21 Javascript
JavaScript中的Math 使用介绍
Apr 21 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
Jun 05 Javascript
基于jQuery实现点击列表加载更多效果
May 31 Javascript
js注入 黑客之路必备!
Sep 14 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
Nov 25 Javascript
jquery validation验证表单插件
Jan 07 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
Mar 06 Javascript
完美解决linux下node.js全局模块找不到的情况
May 16 Javascript
vuex actions异步修改状态的实例详解
Nov 06 Javascript
vue之组件内监控$store中定义变量的变化详解
Nov 08 Javascript
javascript实现左右缓动动画函数
Nov 25 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
Jan 22 #Javascript
jQuery学习之DOM节点的插入方法总结
Jan 22 #Javascript
select下拉框插件jquery.editable-select详解
Jan 22 #Javascript
原生js实现对Ajax的封装(仿jquery)
Jan 22 #Javascript
js遍历json的key和value的实例
Jan 22 #Javascript
jquery pagination分页插件使用详解(后台struts2)
Jan 22 #Javascript
jQuery中DOM节点的删除方法总结(超全面)
Jan 22 #Javascript
You might like
让PHP更快的提供文件下载的代码
2012/06/13 PHP
深入浅出php socket编程
2015/05/13 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
php基于openssl的rsa加密解密示例
2016/07/11 PHP
PHP实现删除多重数组对象属性并重新赋值的方法
2017/06/07 PHP
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
JavaScript.The.Good.Parts阅读笔记(二)作用域&amp;闭包&amp;减缓全局空间污染
2010/11/16 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
浅谈document.write()输出样式
2015/05/07 Javascript
Bootstrap树形组件jqTree的简单封装
2016/01/25 Javascript
JavaScript中匿名函数的用法及优缺点详解
2016/06/01 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
webpack学习教程之publicPath路径问题详解
2017/06/17 Javascript
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
python实现日常记账本小程序
2018/03/10 Python
Python中的TCP socket写法示例
2018/05/11 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
PyTorch加载自己的数据集实例详解
2020/03/18 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
如何使用python自带IDLE的几种方法
2020/10/10 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
美国最大的香水连锁店官网:Perfumania
2016/08/15 全球购物
瑞典香水、须后水和美容产品购物网站:Parfym-Klick.se
2019/12/29 全球购物
焊接专业毕业生求职信
2013/10/01 职场文书
实习评语
2013/12/16 职场文书
施工材料员岗位职责
2014/02/12 职场文书
单方离婚协议书范本(2014版)
2014/09/30 职场文书
公务员政审材料
2014/12/23 职场文书
感恩教育观后感
2015/06/17 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书