深究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 相关文章推荐
关于Mozilla浏览器不支持innerText的解决办法
Jan 01 Javascript
JavaScript定义类或函数的几种方式小结
Jan 09 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
Mar 28 Javascript
javascript string字符串优化问题
Jul 31 Javascript
javaScript使用EL表达式的几种方式
May 27 Javascript
一个不错的字符串转码解码函数(自写)
Jul 31 Javascript
JavaScript中的return语句简单介绍
Dec 07 Javascript
AngularJS入门教程之AngularJS表达式
Apr 18 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
May 27 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
Oct 12 Javascript
js读取本地文件的实例
Dec 22 Javascript
Node.js API详解之 readline模块用法详解
May 22 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
解析curl提交GET,POST,Cookie的简单方法
2013/06/29 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
js注意img图片的onerror事件的分析
2011/01/01 Javascript
JS 进度条效果实现代码整理
2011/05/21 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
JQuery仿小米手机抢购页面倒计时效果
2014/12/16 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
vue中post请求以a=a&amp;b=b 的格式写遇到的问题
2018/04/27 Javascript
js 数组详细操作方法及解析合集
2018/06/01 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
python计算文本文件行数的方法
2015/07/06 Python
学习python 之编写简单乘法运算题
2016/02/27 Python
python中for用来遍历range函数的方法
2018/06/08 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
python3下载抖音视频的完整代码
2019/06/05 Python
python 成功引入包但无法正常调用的解决
2020/03/09 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
python利用paramiko实现交换机巡检的示例
2020/09/22 Python
设计总监岗位职责
2013/12/07 职场文书
生日礼品店创业计划书范文
2014/03/21 职场文书
大学生村官演讲稿
2014/04/25 职场文书
2014年社区重阳节活动策划方案
2014/09/16 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
一年级数学下册复习计划
2015/01/17 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
Python实现滑雪小游戏
2021/09/25 Python
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers