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 相关文章推荐
javascript 文章截取部分无损html显示实现代码
May 04 Javascript
js选项卡的实现方法
Feb 09 Javascript
jQuery入门基础知识学习指南
Aug 14 Javascript
基于JavaScript实现生成名片、链接等二维码
Sep 20 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
Feb 15 Javascript
js获取腾讯视频ID的方法
Oct 03 Javascript
Thinkjs3新手入门之如何使用静态资源目录
Dec 06 Javascript
浅谈vue方法内的方法使用this的问题
Sep 15 Javascript
element vue Array数组和Map对象的添加与删除操作
Nov 14 Javascript
使用axios请求时,发送formData请求的示例
Oct 29 Javascript
Element Popover 弹出框的使用示例
Jul 26 Javascript
移动端JS实现拖拽两种方法解析
Oct 12 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
关于文本留言本的分页代码
2006/10/09 PHP
php实现无限级分类实现代码(递归方法)
2011/01/01 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
ThinkPHP框架实现数据增删改
2017/05/07 PHP
javascript下string.format函数补充
2010/08/24 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
JavaScript中split与join函数的进阶使用技巧
2016/05/03 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
JavaScript定义全局对象的方法示例
2017/01/12 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
python类定义的讲解
2013/11/01 Python
python脚本设置超时机制系统时间的方法
2016/02/21 Python
Python 通过pip安装Django详细介绍
2017/04/28 Python
python机器学习实战之K均值聚类
2017/12/20 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
2018/08/03 Python
python爬取淘宝商品销量信息
2018/11/16 Python
python批量获取html内body内容的实例
2019/01/02 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
详解Pandas之容易让人混淆的行选择和列选择
2019/07/10 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
pytorch 归一化与反归一化实例
2019/12/31 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
美国购车网站:TrueCar
2016/10/19 全球购物
前台文员岗位职责及工作流程
2013/11/19 职场文书
《青海高原一株柳》教学反思
2014/04/25 职场文书
小学见习报告
2014/10/31 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
golang生成并解析JSON
2022/04/14 Golang
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript