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 attachEvent传递参数的办法
Dec 14 Javascript
js 取时间差去掉周六周日实现代码
Dec 25 Javascript
ie中js创建checkbox默认选中问题探讨
Oct 21 Javascript
js浏览器本地存储store.js介绍及应用
May 13 Javascript
jQuery中map()方法用法实例
Jan 06 Javascript
基于javascript实现根据身份证号码识别性别和年龄
Jan 22 Javascript
jQuery中选择器的基础使用教程
May 23 Javascript
基于Bootstrap+jQuery.validate实现表单验证
May 30 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
Dec 23 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
Apr 16 Javascript
详解为Bootstrap Modal添加拖拽的方法
Jan 05 Javascript
浅谈javascript中的prototype和__proto__的理解
Apr 07 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
PHP5 字符串处理函数大全
2010/03/23 PHP
PHP5常用函数列表(分享)
2013/06/07 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
Seajs的学习笔记
2014/03/04 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
点击button获取text内容并改变样式的js实现
2014/09/09 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
jQuery实现自动切换播放的经典滑动门效果
2015/09/12 Javascript
javascript小数精度丢失的完美解决方法
2016/05/31 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
实例讲解v-if和v-show的区别
2019/01/31 Javascript
JavaScript解析机制与闭包原理实例详解
2019/03/08 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
2019/04/11 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
Python中SOAP项目的介绍及其在web开发中的应用
2015/04/14 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
python读写csv文件实例代码
2019/07/05 Python
OpenCV图片漫画效果的实现示例
2020/08/18 Python
美国购车网站:TrueCar
2016/10/19 全球购物
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
入股协议书范本
2014/04/14 职场文书
党章培训心得体会
2014/09/04 职场文书
初中差生评语
2014/12/29 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
2016年教师新年寄语
2015/08/18 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js