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 相关文章推荐
js实现一个省市区三级联动选择框代码分享
Mar 06 Javascript
js仿苹果iwatch外观的计时器代码分享
Aug 26 Javascript
js Canvas绘制圆形时钟效果
Feb 17 Javascript
JS中SetTimeout和SetInterval使用初探
Mar 23 Javascript
如何编写jquery插件
Mar 29 jQuery
Angularjs的键盘事件的绑定
Jul 27 Javascript
分享vue.js devtools遇到一系列问题
Oct 24 Javascript
vue cli webpack中使用sass的方法
Feb 24 Javascript
Vue中的slot使用插槽分发内容的方法
Mar 01 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
Feb 14 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
Aug 13 Javascript
vue el-upload上传文件的示例代码
Dec 21 Vue.js
如何在 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关联链接常用代码
2012/11/05 PHP
PHP分页详细讲解(有实例)
2013/10/30 PHP
php截取中文字符串函数实例
2015/02/23 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
php 删除一维数组中某一个值元素的操作方法
2018/02/01 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
js获取图片大小的函数代码
2011/09/20 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
javascript 判断当前浏览器版本并判断ie版本
2017/02/17 Javascript
JS实现队列的先进先出功能示例
2017/05/10 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
Node.js 路由的实现方法
2019/06/05 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
2020/02/15 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
[43:58]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第一场 1月8日
2021/03/11 DOTA
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
Python入门学习指南分享
2018/04/11 Python
python爬取哈尔滨天气信息
2018/07/14 Python
python安装twisted的问题解析
2018/08/21 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
运动会开幕式解说词
2014/02/05 职场文书
团拜会策划方案
2014/06/07 职场文书
校长创先争优承诺书
2014/08/30 职场文书
授权委托书
2015/01/28 职场文书
法制工作总结2015
2015/07/23 职场文书
python实现黄金分割法的示例代码
2021/04/28 Python