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中列表项增加和删除的实现方法,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 使用JS轻松实现ionic调用键盘搜索功能(超实用)

    这个需求是产品提的,一开始只是设置了 <input style="padding-top: 3px;" type="search" placeholder="搜索医生或医院" ng-model="query"> type="search" 发现android上可以ios调取不出search健来,气死我了,经过google的搜索得到结论,需要在外面套用一个form表单,于是加上果然好使而且结合了f

  • ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)

    在使用ionic开发IOS系统微信的时候会有一个苦恼的问题,填写表单的时候键盘会挡住输入框,其实并不算什么大问题,只要用户输入一个字就可以立刻看见输入框了. 可惜的是,有些客户是不讲理的,他才不管这个问题,反正就是不行,所以在一天睡觉的时候突然惊醒,想出来这个方案. 我就不仔细讲代码了,直接上图 angular.module('MyApp') .directive('focusInput', ['$ionicScrollDelegate', '$window', '$timeout', '$io

  • ionic隐藏tabs的方法

    本文为大家分享了ionic隐藏tabs的方法,供大家参考,具体内容如下 1. <ion-tabs ng-class="{'tabs-item-hide': $root.hideTabs}"> <!-- tabs --> </ion-tabs> 2. 在该控制器下加上.directive: var module = angular.module('app.directives', []); module.directive('showTabs', fu

  • Ionic默认的Tabs模板使用实例

    Ionic 默认的Tabs 模板  ,Android的在上方,IOS的在下方.在www/js/app.js修改配置,添加一个变量,再修改相应属性: .config(function($stateProvider, $urlRouterProvider, $ionicConfigProvider) {$ionicConfigProvider.platform.ios.tabs.style('standard'); $ionicConfigProvider.platform.ios.tabs.pos

  • 如何解决IONIC页面底部被遮住无法向上滚动问题

    Ionic 是目前最有潜力的一款 HTML5 手机应用开发框架.通过 SASS 构建应用程序,它 提供了很多 UI 组件来帮助开发者开发强大的应用. 它使用 JavaScript MVVM 框架和 AngularJS 来增强应用.提供数据的双向绑定,使用它成为 Web 和移动开发者的共同选择. ionic 特点 1.ionic 基于Angular语法,简单易学.[3] 2.ionic 是一个轻量级框架. 3.ionic 完美的融合下一代移动框架,支持 Angularjs 的特性, MVVM ,代

  • ionic组件ion-tabs选项卡切换效果实例

    介绍 ion-tabs是ionic中的选项卡组件,路由使用的是angular-ui-router.js.因此必须先掌握uiRoute. 效果图 实例代码 index.html <body ng-app="starter"> <!--ion-nav-view用来渲染模板--> <ion-nav-view></ion-nav-view> </body> tab-index.html <ion-tabs class="

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

    在项目中遇到表单似的页面,需要进行增加一行和减少一行的操作,例如: 要实现可以选中商品,以及对商品的信息列表进行显示与否的操作 html代码如下: <div class="chanpinxiangqing"> <div class="item item-divider">产品明细</div> <div class="chanpinxiangqing" ng-repeat="master in m

  • jQuery列表动态增加和删除的实现方法

    通过jQuery实现列表的数据动态添加与删除 代码演示 演示地址 背景隔行换色 CSS代码 /* 设置奇数行颜色 */ .even { background-color: dodgerblue; } /* 设置偶数行背景颜色 */ .odd { background-color: pink; } JavaScript代码 // 设置奇数偶数行的背景颜色 $("tr:even").addClass("even"); $("tr:odd").addC

  • vue2.0实现列表数据增加和删除

    本文实例为大家分享了vue2.0实现列表数据增加和删除的具体代码,供大家参考,具体内容如下 css <style> [v-cloak]{ display: none; } table{ width: 800px; border-collapse: collapse; margin: 20px auto; } table th,table td{ background: #0094ff; color: white; font-size: 16px; padding: 5px; text-alig

  • python列表数据增加和删除的具体实例

    1.使用 append 函数来为列表 list 添加数据,默认将数据追加在末尾. # !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿说编程 @Blog(个人博客地址): www.codersrc.com @File:python列表list.py @Time:2021/3/22 00:37 @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! ""&quo

  • 微信小程序实现列表项左滑删除效果

    本文实例为大家分享了微信小程序实现列表项左滑删除效果的具体代码,供大家参考,具体内容如下 效果 图片 WXML <view class="container"> <!-- 收货地址 --> <view class="address"> <view class="left"> <view class="icon"> <image src="../../i

  • 微信小程序 实现列表项滑动显示删除按钮的功能

    微信小程序 实现列表项滑动显示删除按钮的功能 微信小程序并没有提供列表控件,所以也没有iOS上惯用的列表项左滑删除的功能,SO只能自己干了. 原理很简单,用2个层,上面的层显示正常的内容,下面的层显示一个删除按钮,就是记录手指滑动的距离,动态的来移动上层元素,当然上层用绝对定位. wxml: <view class="container"> <view class="record-box" data-datetime="{{record.

  • jQuery实现列表的增加和删除功能

    具体代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>jQuery</title> <style> </style> </head> <body> <div> <table style="margin: 10px a

  • jquery增加和删除元素的方法

    本文实例讲述了jquery增加和删除元素的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>jquery增加删除元素</title> <script type="text/javascript&

  • Windows上使用Python增加或删除权限的方法

    在使用Python在 Windows 平台上开发的时候, 有时候我们需要动态增加或删除用户的某些权限, 此时我们可以通过 AdjustTokenPrivileges API 来实现. 比如,我们要给用户分配 SE_TCB_NAME 权限 flags = win32security.TOKEN_ADJUST_PRIVILEGES | win32security.TOKEN_QUERY token = win32security.OpenProcessToken(win32api.GetCurren

  • vue中设置、获取、删除cookie的方法

    1.在src目录下的access下新建一个cookie.js, 内容如下: export function setCookie(c_name,value,expire) { var date=new Date() date.setSeconds(date.getSeconds()+expire) document.cookie=c_name+ "="+escape(value)+"; expires="+date.toGMTString() //console.lo

随机推荐