深究AngularJS——ng-checked(回写:带真实案例代码)


Posted in Javascript onJune 13, 2017

1.需求

在添加页面实现一个checkbox的选择,然后在详情页面展示时,会自动选上之前被选中的。

2.添加页面

看官最好将这个代码复制过去看看效果。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl" >
  选择
  <div ng-repeat="item in list">
    <input type="checkbox" name="tagName" value="item.id" ng-click="select(item.id,$event)"> {{item.shortName}}
  </div>
  结果:{{result}}
</div>
<script>  
  var app = angular.module('myApp', []);
  app.controller('myCtrl', function($scope) {
    //创建checkbox用的
    $scope.list=[{"id":1,"shortName":"张三"},{"id":2,"shortName":"李四"},{"id":3,"shortName":"王二"}];
    //存储已选
    $scope.result = [];
    //触发事件
    $scope.select = function(id,event){      
      console.log(event)//打印看看这是什么,有利于理解
      console.log(action)

      var action = event.target;
      if(action.checked){//选中,就添加
        if($scope.result.indexOf(id) == -1){//不存在就添加
          $scope.result.push(id);
        }
      }else{//去除就删除result里
        var idx = $scope.result.indexOf(id);
        if( idx != -1){//不存在就添加
          $scope.result.splice(idx,1);
        }
      }
    };
  });
</script>
</body>
</html>

3.详情展示

//假设添加页面的结果是:$scope.result = [3,2];

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<div ng-app="myApp" ng-controller="myCtrl" >
  回写时设置不可选,即设ng-disabled="true"
  <div ng-repeat="item in list">
    <input type="checkbox" name="tagName" ng-checked="isSelected(item.id)" value="item.id" ng-disabled="true" > {{item.shortName}}
  </div>
  结果:{{result}}
</div>

<script>  
  var app = angular.module('myApp', []);
  app.controller('myCtrl', function($scope) {
    //创建checkbox用的
    $scope.list=[{"id":1,"shortName":"张三"},{"id":2,"shortName":"李四"},{"id":3,"shortName":"王二"}];

    //在添加页面得到的结果
    //你会发现,顺序也不会影响结果
    $scope.result = [3,2];

    //被选中条件:ng-checked的结果为true
    $scope.isSelected = function(id){     
      return $scope.result.indexOf(id)!=-1; 
      //只要返回的结果为true,则对应的checkbox就会被选中,
      //所以我的思路是看存添加页面的结果里是否含有当前id即value值,
      //有就返回的true,没有就返回false
    };
  });
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 判断 object 的特定类转载
Feb 01 Javascript
基于jquery的大众点评,分类导航实现代码
Aug 23 Javascript
jQuery中filter()和find()的区别深入了解
Sep 25 Javascript
鼠标滚轴控制文本框值的JS代码
Nov 19 Javascript
javascript 闭包详解
Jul 02 Javascript
js代码验证手机号码和电话号码是否合法
Jul 30 Javascript
javascript显示上周、上个月日期的处理方法
Feb 03 Javascript
js实现的光标位置工具函数示例
Oct 03 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
Jan 16 Javascript
JavaScript在控件上添加倒计时功能的实现代码
Jul 04 Javascript
浅析js实现网页截图的两种方式
Nov 01 Javascript
Vue数据双向绑定原理实例解析
May 15 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
Jun 13 #Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
Jun 13 #Javascript
angularjs之$timeout指令详解
Jun 13 #Javascript
JS实现json的序列化和反序列化功能示例
Jun 13 #Javascript
angularjs实现搜索的关键字在正文中高亮出来
Jun 13 #Javascript
angular-ngSanitize模块-$sanitize服务详解
Jun 13 #Javascript
让微信小程序支持ES6中Promise特性的方法详解
Jun 13 #Javascript
You might like
PHP面向对象的使用教程 简单数据库连接
2006/11/25 PHP
PHP url 加密解密函数代码
2011/08/26 PHP
Yii多表联合查询操作详解
2016/06/02 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
jquery实现商品拖动选择效果代码(自写)
2013/05/28 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
jQuery中each循环的跳出和结束实例
2017/08/16 jQuery
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
python数据化运营的重要意义
2019/11/25 Python
Python xlrd/xlwt 创建excel文件及常用操作
2020/09/24 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
html5的localstorage详解
2017/05/09 HTML / CSS
大专生的学习自我评价
2013/12/04 职场文书
小班重阳节活动方案
2014/02/08 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
师范生求职自荐信
2014/06/14 职场文书
领导批评与自我批评范文
2014/10/16 职场文书
销售员岗位职责
2015/02/10 职场文书
2015教师年度考核评语
2015/03/25 职场文书
初中同学会致辞
2015/08/01 职场文书
安全生产奖惩制度
2015/08/06 职场文书
2015中秋祝酒词
2015/08/12 职场文书
《失物招领》教学反思
2016/02/20 职场文书
vue代码分块和懒加载非必要资源文件
2022/04/11 Vue.js