Angular实现一个简单的多选复选框的弹出框指令实例


Posted in Javascript onApril 25, 2017

之前的文章有写过包含树结构下拉框的。

要实现一个包含多个复选框的下拉框该如何做呢?

先上个效果图吧:

Angular实现一个简单的多选复选框的弹出框指令实例

代码:

<!DOCTYPE html>
<html ng-app="app">

<head>
  <meta charset="UTF-8">
  <title></title>
  <link rel="stylesheet" type="text/css" href="../bootstrap/css/bootstrap.css" rel="external nofollow" >
  <script src="../jquery.js"></script>
  <script src="../bootstrap/js/bootstrap.js"></script>
  <style type="text/css">
  label {
    display: block;
    margin-top: 3px;
  }

  label.list:hover {
    cursor: pointer;
    background-color: red;
  }

  label.selected {
    background-color: red;
  }
  </style>
  <script src="../angular.js"></script>
  <script type="text/javascript">
  angular.module("app", [])
    .controller("ctrl", function($scope) {
      jQuery(".dropdown-menu *").click(function(e){
        e.stopPropagation();
      });


      $scope.selectList = [{
        name: "选项1",
        value: "item1",
        select: false
      }, {
        name: "选项2",
        value: "item2",
        select: true
      }];
      $scope.$watch("selectList", function(n, o) {

        $scope.result = (function(arr) {
          var t = [];
          for (var i = 0; i < arr.length; i++) {
            if (arr[i].select) {
              t.push(arr[i].name);
            }
          }
          if (!t.length) {
            t.push("--请选择--");
          }
          return t.join(",");
        })($scope.selectList);
      }, true)

    })
    .directive("multiSelect", function() {
      return {
        scope: {
          data: "=multiSelect"
        },
        templateUrl: "option.html"
      }
    })
  </script>
</head>

<body>
  <div ng-controller="ctrl">

    <div class="dropdown">
      <span class="dropdown-toggle", data-toggle="dropdown">
        <button ng-bind="result"> </button>
        <span class="caret"></span>
      </span>
      <ul class="dropdown-menu">
        <li>
          //下拉框数据绑定
          <div multi-select="selectList"></div>
        </li>
      </ul>
    </div>

  </div>
</body>

</html>

指令模版代码option.html:

<label for="{{'check_' + $index}}" ng-class="{list:true, selected:data[$index].select}" ng-repeat = "item in data">
  //为不同的选项定义不同的id
  <input id="{{'check_' + $index}}" type="checkbox" ng-model="data[$index].select">
  {{item.name}}

</label>

以上这篇Angular实现一个简单的多选复选框的弹出框指令实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
extjs中grid中嵌入动态combobox的应用
Jan 01 Javascript
jQuery.extend 函数详解
Feb 03 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
Sep 01 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
Sep 21 Javascript
基于JavaScript获取鼠标位置的各种方法
Dec 16 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
Aug 03 Javascript
JS闭包可被利用的常见场景小结
Apr 09 Javascript
vue 项目常用加载器及配置详解
Jan 22 Javascript
记录vue项目中遇到的一点小问题
May 14 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
Nov 12 Javascript
vue页面切换项目实现转场动画的方法
Nov 12 Javascript
Vue快速实现通用表单验证功能
Dec 05 Javascript
如何在 Vue.js 中使用第三方js库
Apr 25 #Javascript
Javascript中click与blur事件的顺序详析
Apr 25 #Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
Apr 25 #Javascript
ES6中Math对象新增的方法实例详解
Apr 25 #Javascript
jquery.form.js异步提交表单详解
Apr 25 #jQuery
关于jQuery中fade(),show()起始位置的一点小发现
Apr 25 #jQuery
深入理解Javascript中的作用域链和闭包
Apr 25 #Javascript
You might like
PHP的FTP学习(四)
2006/10/09 PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
超小PHP小马小结(方便查找后门的朋友)
2012/05/05 PHP
php通过字符串调用函数示例
2014/03/02 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
textarea的value是html文件源代码,存成html文件的代码
2007/04/20 Javascript
jquery 插件开发方法小结
2009/10/23 Javascript
Javascript 二维数组
2009/11/26 Javascript
JavaScript经典效果集锦
2010/07/06 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
[07:38]2014DOTA2国际邀请赛 Newbee顺利挺进胜者组赛后专访
2014/07/15 DOTA
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
多版本Python共存的配置方法
2017/05/22 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
Python学习笔记之列表推导式实例分析
2019/08/13 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
python安装gdal的两种方法
2019/10/29 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
2020/01/12 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
2020/10/12 Python
Crocs卡骆驰洞洞鞋日本官方网站:Crocs日本
2016/08/25 全球购物
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
写出一个方法实现冒泡排序
2016/07/08 面试题
庆祝教师节活动方案
2014/01/31 职场文书
商业计算机应用专业自荐书
2014/06/09 职场文书
幼师辞职信范文
2015/02/27 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
关于空气污染危害的感想
2015/08/11 职场文书