Angular.js实现多个checkbox只能选择一个的方法示例
发布时间 - 2026-01-10 23:15:53 点击率:次首先来看看效果

效果
实现这样的效果,必须使用指令了,只有使用指令才能单独控制每一个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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
微信小程序 canvas开发实例及注意事项
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
如何在腾讯云服务器上快速搭建个人网站?
如何彻底删除建站之星生成的Banner?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
重庆市网站制作公司,重庆招聘网站哪个好?
如何快速生成可下载的建站源码工具?
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
Linux系统命令中screen命令详解
如何将凡科建站内容保存为本地文件?
如何快速查询域名建站关键信息?
Laravel storage目录权限问题_Laravel文件写入权限设置
如何在阿里云虚拟主机上快速搭建个人网站?
如何用腾讯建站主机快速创建免费网站?
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
Python进程池调度策略_任务分发说明【指导】
手机软键盘弹出时影响布局的解决方法
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
nginx修改上传文件大小限制的方法
Laravel Docker环境搭建教程_Laravel Sail使用指南
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
Angular 表单中正确绑定输入值以确保提交与验证正常工作
PythonWeb开发入门教程_Flask快速构建Web应用
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
智能起名网站制作软件有哪些,制作logo的软件?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
香港服务器租用每月最低只需15元?
详解阿里云nginx服务器多站点的配置
linux top下的 minerd 木马清除方法
北京企业网站设计制作公司,北京铁路集团官方网站?
如何在阿里云域名上完成建站全流程?
如何快速使用云服务器搭建个人网站?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
简单实现jsp分页
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
如何获取上海专业网站定制建站电话?
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
Laravel怎么在Controller之外的地方验证数据
Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】
Mybatis 中的insertOrUpdate操作
Laravel如何处理表单验证?(Requests代码示例)
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
如何快速搭建自助建站会员专属系统?
Swift中switch语句区间和元组模式匹配
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解

