全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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实现一个简单的多选复选框的弹出框指令实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# angular  # 多选  # 弹出框  # 复选框  # AngularJS实现全选反选功能  # Angular.js实现多个checkbox只能选择一个的方法示例  # 给大家  # 下拉框  # 多个  # 希望能  # 弹出  # 请选择  # 这篇  # 上个  # 绑定  # 小编  # 写过  # 大家多多  # 如何做  # 图吧  # stylesheet  # rel  # href  # css 


相关文章: 网站制作壁纸教程视频,电脑壁纸网站?  大连网站制作公司哪家好一点,大连买房网站哪个好?  如何在IIS中配置站点IP、端口及主机头?  建站之星下载版如何获取与安装?  建站之星×万网:智能建站系统+自助建站平台一键生成  如何快速辨别茅台真假?关键步骤解析  网站制作话术技巧,网站推广做的好怎么话术?  ,巨量百应是干嘛的?  视频网站制作教程,怎么样制作优酷网的小视频?  建站主机服务器选购指南:轻量应用与VPS配置解析  c++ stringstream用法详解_c++字符串与数字转换利器  股票网站制作软件,网上股票怎么开户?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何做网站制作流程,*游戏网站怎么搭建?  *服务器网站为何频现安全漏洞?  如何通过虚拟主机空间快速建站?  Bpmn 2.0的XML文件怎么画流程图  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  简单实现Android验证码  网站制作的步骤包括,正确网址格式怎么写?  盐城做公司网站,江苏电子版退休证办理流程?  建站之星安装后如何自定义网站颜色与字体?  MySQL查询结果复制到新表的方法(更新、插入)  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  ,交易猫的商品怎么发布到网站上去?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  文字头像制作网站推荐软件,醒图能自动配文字吗?  音乐网站服务器如何优化API响应速度?  建站之星代理平台如何选择最佳方案?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  定制建站如何定义?其核心优势是什么?  Python lxml的etree和ElementTree有什么区别  再谈Python中的字符串与字符编码(推荐)  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  如何快速查询网站的真实建站时间?  建站之星安装模板失败:服务器环境不兼容?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  如何生成腾讯云建站专用兑换码?  建设网站制作价格,怎样建立自己的公司网站?  如何在搬瓦工VPS快速搭建网站?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  h5在线制作网站电脑版下载,h5网页制作软件?  如何在Windows环境下新建FTP站点并设置权限?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何选择靠谱的建站公司加盟品牌?  建站主机如何选?性能与价格怎样平衡?  如何在新浪SAE免费搭建个人博客? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。