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 相关文章推荐
基于jQuery替换table中的内容并显示进度条的代码
Aug 02 Javascript
基于jquery &amp; json的省市区联动代码
Jun 26 Javascript
jquery右下角自动弹出可关闭的广告层
May 08 Javascript
js基于setTimeout与setInterval实现多线程
Jun 17 Javascript
javascript动画之磁性吸附效果篇
Dec 09 Javascript
基于Javascript实现的不重复ID的生成器
Dec 25 Javascript
jquery表单验证插件validation使用方法详解
Jan 20 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
May 08 jQuery
JS写谷歌浏览器chrome的外挂实例
Jan 11 Javascript
ES10的13个新特性示例(小结)
Sep 23 Javascript
将RGB值转换为灰度值的简单算法
Oct 09 Javascript
基于JavaScript实现贪吃蛇游戏
Mar 16 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
PHP中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
2015/12/22 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
小试JQuery的AutoComplete插件
2011/05/04 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
2013/10/15 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
vue移动端使用canvas签名的实现
2020/01/15 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
[01:14]3.19DOTA2发布会 三代刀塔人第二代
2014/03/25 DOTA
Python Web开发模板引擎优缺点总结
2014/05/06 Python
python字典嵌套字典的情况下找到某个key的value详解
2019/07/10 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
Python通过Schema实现数据验证方式
2020/11/12 Python
python基于爬虫+django,打造个性化API接口
2021/01/21 Python
CSS3截取字符串实例代码【推荐】
2018/06/07 HTML / CSS
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
电厂职工自我鉴定
2014/02/20 职场文书
中国好声音广告词
2014/03/18 职场文书
离婚协议书样本
2015/01/26 职场文书
二审代理词范文
2015/05/25 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server
Python Matplotlib绘制动画的代码详解
2022/05/30 Python