全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)  # 使用JS轻松实现ionic调用键盘搜索功能(超实用)  # 如何解决IONIC页面底部被遮住无法向上滚动问题  # ionic隐藏tabs的方法  # Ionic默认的Tabs模板使用实例  # ionic组件ion-tabs选项卡切换效果实例  # 请选择  # 产品类型  # 小编  # 在此  # 给大家  # 表单  # 所述  # 感谢大家  # 注射剂  # 器及  # 以及对  # px  # left  # true  # false  # upDown  # upOrdown  # hide  # checkmark  # ion 


相关文章: 如何选择高效可靠的多用户建站源码资源?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在局域网内绑定自建网站域名?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  建站为何优先选择香港服务器?  北京网站制作网页,网站升级改版需要多久?  免费视频制作网站,更新又快又好的免费电影网站?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何快速选择适合个人网站的云服务器配置?  如何快速搭建高效香港服务器网站?  如何配置支付宝与微信支付功能?  如何构建满足综合性能需求的优质建站方案?  如何确认建站备案号应放置的具体位置?  深圳网站制作案例,网页的相关名词有哪些?  深圳网站制作的公司有哪些,dido官方网站?  北京网站制作的公司有哪些,北京白云观官方网站?  制作网页的网站有哪些,电脑上怎么做网页?  ,南京靠谱的征婚网站?  如何通过宝塔面板实现本地网站访问?  如何快速搭建高效简练网站?  企业微网站怎么做,公司网站和公众号有什么区别?  建站之星导航配置指南:自助建站与SEO优化全解析  如何在西部数码注册域名并快速搭建网站?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  如何基于云服务器快速搭建网站及云盘系统?  网站网页制作专业公司,怎样制作自己的网页?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  如何在宝塔面板中创建新站点?  微信小程序 五星评分(包括半颗星评分)实例代码  如何在阿里云高效完成企业建站全流程?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何用搬瓦工VPS快速搭建个人网站?  宝塔建站助手安装配置与建站模板使用全流程解析  如何用5美元大硬盘VPS安全高效搭建个人网站?  济南专业网站制作公司,济南信息工程学校怎么样?  建站之星导航菜单设置与功能模块配置全攻略  建站之星备案流程有哪些注意事项?  建站VPS推荐:2025年高性能服务器配置指南  大连网站设计制作招聘信息,大连投诉网站有哪些?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  建站之星免费版是否永久可用?  c# 服务器GC和工作站GC的区别和设置  如何在香港服务器上快速搭建免备案网站?  C#怎么创建控制台应用 C# Console App项目创建方法  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  青岛网站建设如何选择本地服务器?  如何快速上传建站程序避免常见错误?  Java解压缩zip - 解压缩多个文件或文件夹实例  Swift中循环语句中的转移语句 break 和 continue  高性能网站服务器配置指南:安全稳定与高效建站核心方案 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。