全网整合营销服务商

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

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

Angular.js实现多个checkbox只能选择一个的方法示例

首先来看看效果


效果

实现这样的效果,必须使用指令了,只有使用指令才能单独控制每一个scope。

示例代码如下:

<div class="form-group">
   <label class="col-sm-2 control-label">请选择文章主题色彩</label>
   <div class="col-sm-10" theme-group>
   <label class="i-switch m-t-xs m-r">
    <input type="checkbox" input-theme >
    <i></i>
   </label>
   <label class="i-switch bg-info m-t-xs m-r">
    <input type="checkbox" input-theme>
    <i></i>
   </label>
   <label class="i-switch bg-primary m-t-xs m-r">
    <input type="checkbox" input-theme >
    <i></i>
   </label>
   <label class="i-switch bg-danger m-t-xs m-r">
    <input type="checkbox" input-theme>
    <i></i>
   </label>
   </div>
</div>
(function () {
 angular
 .module("shishuoproject")
 .directive("themeGroup",function(){
  return{
  controller: function () {
   var scopeArray=[];
   this.addScope= function (scope) {
   var self=this;
   scopeArray.push(scope);
   scope.$on("$destory",function(){
    self.removeScope(scope);
   })
   };
   this.closeScope= function (scope) {
   //var l=scopeArray.length;
   angular.forEach(scopeArray, function (value) {
    if(value!=scope){
    value.flag=false;
    }
   })
   };
   this.removeScope= function (scope) {
   var index=scopeArray.indexOf(scope);
   if(index!==-1){
    scopeArray.splice(index,1);
   }
   };
   this.getIndex= function (scope) {
   var index=scopeArray.indexOf(scope);
   return index;
   }
  }
  }
 })
 .directive("inputTheme",function(){
  return{
  restrict:'EA',
  require:"^?themeGroup",
  template:'<input type="checkbox" ng-click="choseTheme()" ng-model="flag">',
  replace:true,
  scope:{},
  link: function (scope,element,attr,themeCon) {
   var colorArray=['#27c24c','#23b7e5','#7266ba',' #f05050'];
   themeCon.addScope(scope);
   scope.choseTheme= function () {
   themeCon.closeScope(scope);
   var index=themeCon.getIndex(scope);
   var color=colorArray[index];
   scope.$emit("getArticleThemeColor",{'color':color});
   console.log(scope.flag);
   };
  }
  }
 })
})()

这里简单说一下,实现的主要思想就是,通过指令单独生成scope,每一个指令都是一个单独的scope,这样每个ng-modal都独立出来了,然后通过继承一个总的指令来实现控制。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者使用Angular.js能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# angularjs  # checkbox  # checkbox只能选择一个  # angular.js  # Angular.JS判断复选框checkbox是否选中并实时显示  # angular框架实现全选与单选chekbox的自定义  # 都是  # 来看看  # 文章主题  # 请选择  # 这篇文章  # 谢谢大家  # 来实现  # 出来了  # 有疑问  # type  # info  # bg  # input  # theme  # angular  # xs  # switch  # primary  # directive 


相关文章: 微信推文制作网站有哪些,怎么做微信推文,急?  非常酷的网站设计制作软件,酷培ai教育官方网站?  如何用腾讯建站主机快速创建免费网站?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  ,想在网上投简历,哪几个网站比较好?  c# 服务器GC和工作站GC的区别和设置  如何做静态网页,sublimetext3.0制作静态网页?  如何在建站宝盒中设置产品搜索功能?  历史网站制作软件,华为如何找回被删除的网站?  Swift中循环语句中的转移语句 break 和 continue  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  网站制作新手教程,新手建设一个网站需要注意些什么?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  如何在阿里云通过域名搭建网站?  股票网站制作软件,网上股票怎么开户?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  长沙企业网站制作哪家好,长沙水业集团官方网站?  想学网站制作怎么学,建立一个网站要花费多少?  如何快速完成中国万网建站详细流程?  一键网站制作软件,义乌购一件代发流程?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  定制建站流程解析:需求评估与SEO优化功能开发指南  如何配置WinSCP新建站点的密钥验证步骤?  建站之星24小时客服电话如何获取?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  宝塔建站助手安装配置与建站模板使用全流程解析  平台云上自主建站:模板化设计与智能工具打造高效网站  黑客如何利用漏洞与弱口令入侵网站服务器?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  建站主机SSH密钥生成步骤及常见问题解答?  如何设置并定期更换建站之星安全管理员密码?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  移民网站制作流程,怎么看加拿大移民官网?  公司门户网站制作流程,华为官网怎么做?  建站之星在线客服如何快速接入解答?  代刷网站制作软件,别人代刷火车票靠谱吗?  如何快速搭建高效香港服务器网站?  贸易公司网站制作流程,出口贸易网站设计怎么做?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  c# 在高并发场景下,委托和接口调用的性能对比  如何快速搭建虚拟主机网站?新手必看指南  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  如何通过FTP空间快速搭建安全高效网站?  南平网站制作公司,2025年南平市事业单位报名时间?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  如何通过云梦建站系统实现SEO快速优化?  Android自定义listview布局实现上拉加载下拉刷新功能  专业网站建设制作报价,网页设计制作要考什么证? 

您的项目需求

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