AngularJS单选框及多选框实现双向动态绑定


Posted in Javascript onJanuary 13, 2016

在AngularJS中提及双向数据绑定,大家肯定会想到ng-model指令。

一、ng-model

ng-model指令用来将input、select、textarea或自定义表单控件同包含它们的作用域中的属性进行绑定。它将当前作用域中运算表达式的值同给定的元素进行绑定。如果属性不存在,它会隐式创建并将其添加到当前作用域中。
始终用ng-model来绑定scope上一个数据模型内的属性,而不是scope上的属性,这可以避免在作用域或后代作用域中发生属性覆盖!

<input type="text" ng-model="modelName.somePrototype" />

二、type=”radio”

通过 value 属性指定选中状态下对应的值,并通过 ng-model 将单选框与 $scope 中的属性对应,便实现了 type=”radio” 时的双向动态绑定。

<input type="radio" name="sex" value="male" ng-model="person.sex" />男
<input type="radio" name="sex" value="female" ng-model="person.sex" />女

三、type=”checkbox”

通过AngularJS 的内置指令 ng-true-value 和 ng-false-value ,指定多选框在选中和未选中状态下对应的值,再通过ng-model 将其与 $scope 中的属性对应,便实现了type=”checkbox” 的双向动态绑定。

<input type="checkbox" ng-true-value="true" ng-false-value="false" ng-model="person.like.pingpong" />乒乓球
<input type="checkbox" ng-true-value="true" ng-false-value="false" ng-model="person.like.football" />足球
<input type="checkbox" ng-true-value="true" ng-false-value="false" ng-model="person.like.basketball" />篮球

四、完整示例

<html ng-app="myApp">
<head>
 <meta charset="UTF-8">
 <title>radio & checkbox</title>
 <script type="text/javascript" src="angular.js/1.4.4/angular.min.js"></script>
</head>
<body>
 <input type="radio" name="sex" value="male" ng-model="person.sex" />男
 <input type="radio" name="sex" value="female" ng-model="person.sex" />女
 <input type="text" ng-model="person.sex" />

 <input type="checkbox" ng-true-value="true" ng-false-value="false" ng-model="person.like.pingpong" />乒乓球
 <input type="checkbox" ng-true-value="true" ng-false-value="false" ng-model="person.like.football" />足球
 <input type="checkbox" ng-true-value="true" ng-false-value="false" ng-model="person.like.basketball" />篮球
 <span>{{ person.like.pingpong }} {{ person.like.football }} {{ person.like.basketball }} </span>
</body>
</html>

<script type="text/javascript">
 var app = angular.module('myApp', []);
 app.run(function($rootScope) {
  $rootScope.person = {
   sex: "female",
   like: {
    pingpong: true,
    football: true,
    basketball: false
   }
  };
 });
</script>

以上就是关于AngularJS单选框及多选框实现双向动态绑定的相关介绍,希望对大家的学习有所帮助。

Javascript 相关文章推荐
Mootools 1.2教程 同时进行多个形变动画
Sep 15 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
Dec 16 Javascript
JS来动态的修改url实现对url的增删查改
Sep 05 Javascript
跨域资源共享 CORS 详解
Apr 26 Javascript
React Native react-navigation 导航使用详解
Dec 01 Javascript
Vue集成Iframe页面的方法示例
Dec 12 Javascript
angularjs数组判断是否含有某个元素的实例
Feb 27 Javascript
Node.js静态服务器的实现方法
Feb 28 Javascript
三种Webpack打包方式(小结)
Sep 19 Javascript
JS严格模式原理与用法实例分析
Apr 27 Javascript
js实现列表按字母排序
Aug 11 Javascript
详解微信小程序轨迹回放实现及遇到的坑
Feb 02 Javascript
javascript中的作用域和闭包详解
Jan 13 #Javascript
JSON+Jquery省市区三级联动
Jan 13 #Javascript
Easyui form combobox省市区三级联动
Jan 13 #Javascript
轻松实现javascript图片轮播特效
Jan 13 #Javascript
简单的JS时钟实例讲解
Jan 13 #Javascript
基于jquery实现的仿优酷图片轮播特效代码
Jan 13 #Javascript
详解iframe与frame的区别
Jan 13 #Javascript
You might like
在WIN98下以apache模块方式安装php
2006/10/09 PHP
php自动注册登录验证机制实现代码
2011/12/20 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
PHP记录页面停留时间的方法
2016/03/30 PHP
Thinkphp单字母函数使用指南
2016/05/08 PHP
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
2015/08/17 Javascript
超赞的jQuery图片滑块动画特效代码汇总
2016/01/25 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
基于Require.js使用方法(总结)
2017/10/26 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
python使用PythonMagick将jpg图片转换成ico图片的方法
2015/03/26 Python
Python 正则表达式入门(中级篇)
2016/12/07 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
详解Anaconda 的安装教程
2020/09/23 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
HTML5之语义标签介绍
2016/07/07 HTML / CSS
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
生日邀请函范文
2014/01/13 职场文书
测绘工程专业求职信
2014/07/15 职场文书
党校学习心得体会范文
2014/09/09 职场文书
个人德育工作总结
2015/03/05 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书
python通配符之glob模块的使用详解
2021/04/24 Python