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 相关文章推荐
图片完美缩放
Sep 07 Javascript
一个JavaScript继承的实现
Oct 24 Javascript
javascript最常用与实用的创建类的代码
Aug 12 Javascript
jquery 查找select ,并触发事件的实现代码
Mar 30 Javascript
JS实现文字掉落效果的方法
May 06 Javascript
JavaScript中的操作符类型转换示例总结
May 30 Javascript
详解angularJs中关于ng-class的三种使用方式说明
Jun 02 Javascript
利用node.js制作命令行工具方法教程(一)
Jun 22 Javascript
react.js使用webpack搭配环境的入门教程
Aug 14 Javascript
vue复合组件实现注册表单功能
Nov 06 Javascript
js实现敏感词过滤算法及实现逻辑
Jul 24 Javascript
vue router的基本使用和配置教程
Nov 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与SQL注入攻击[一]
2007/04/17 PHP
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
php自动跳转中英文页面
2008/07/29 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
php实现递归的三种基本方式
2020/07/04 PHP
详解php反序列化
2020/06/10 PHP
比较详细的javascript对象的property和prototype是什么一种关系
2007/08/06 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
谈谈基于iframe、FormData、FileReader三种无刷新上传文件的方法
2015/12/03 Javascript
jquery ajax双击div可直接修改div中的内容
2016/03/04 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
对比分析Django的Q查询及AngularJS的Datatables分页插件
2017/02/07 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
jQuery中each方法的使用详解
2018/03/18 jQuery
详解javascript函数写法大全
2019/03/25 Javascript
python 文件操作api(文件操作函数)
2016/08/28 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
2017/12/15 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
python文字转语音实现过程解析
2019/11/12 Python
Python正则表达式学习小例子
2020/03/03 Python
keras在构建LSTM模型时对变长序列的处理操作
2020/06/29 Python
供应链金融服务方案
2014/05/25 职场文书
篮球比赛口号
2014/06/10 职场文书
法学院毕业生求职信
2014/06/25 职场文书
2014党委书记四风问题对照检查材料思想汇报
2014/09/22 职场文书
2015年社区中秋节活动总结
2015/03/23 职场文书
利用Pycharm连接服务器的全过程记录
2021/07/01 Python
yolov5返回坐标的方法实例
2022/03/17 Python
Linux中文件的基本属性介绍
2022/06/01 Servers