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 相关文章推荐
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
Jan 06 Javascript
JavaScript返回0-1之间随机数的方法
Apr 06 Javascript
老生常谈遮罩层 滚动条的问题
Apr 29 Javascript
jQuery实现的网格线绘制方法
Jun 20 Javascript
利用Vue.js实现求职在线之职位查询功能
Jul 03 Javascript
angularjs 页面自适应高度的方法
Jan 17 Javascript
webpack4.0打包优化策略整理小结
Mar 30 Javascript
微信小程序实现滴滴导航tab切换效果
Jul 24 Javascript
详解a标签添加onclick事件的几种方式
Mar 29 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
Jul 03 Javascript
使用p5.js临摹动态图形
Oct 23 Javascript
Vue实现简易购物车页面
Dec 30 Vue.js
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环境――Appserv
2006/12/13 PHP
使用PHP生成二维码的两种方法(带logo图像)
2014/03/14 PHP
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
js+CSS 图片等比缩小并垂直居中实现代码
2008/12/01 Javascript
Mootools 1.2教程 类(一)
2009/09/15 Javascript
javascript中的对象创建 实例附注释
2011/02/08 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
JavaScript中return false的用法
2015/03/12 Javascript
jQuery检测输入的字符串包含的中英文的数量
2015/04/17 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
JS实现鼠标框选效果完整实例
2016/06/20 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
浅谈React组件之性能优化
2018/03/02 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
[01:10:24]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第一场 2月28日
2021/03/11 DOTA
Python程序设计入门(5)类的使用简介
2014/06/16 Python
对python中的高效迭代器函数详解
2018/10/18 Python
在python中将字符串转为json对象并取值的方法
2018/12/31 Python
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
一站式跨境收款解决方案:Payoneer(派安盈)
2018/09/06 全球购物
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
小学英语教学反思
2014/01/30 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
学雷锋志愿者活动方案
2014/08/21 职场文书
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python
Nginx反向代理配置的全过程记录
2021/06/22 Servers
【js设计模式】SOLID五大设计原则
2022/03/24 Javascript
mysql幻读详解实例以及解决办法
2022/06/16 MySQL