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实现动态侧边栏代码
Feb 19 Javascript
巧用局部变量提升javascript性能
Feb 24 Javascript
学习jQuey中的return false
Dec 18 Javascript
JavaScript动态设置div的样式的方法
Dec 26 Javascript
原生js实现百叶窗效果及原理介绍
Apr 12 Javascript
jquery实现界面无刷新加载登陆注册
Jul 30 Javascript
JS实现可编辑的后台管理菜单功能【附demo源码下载】
Sep 13 Javascript
10分钟上手vue-cli 3.0 入门介绍
Apr 04 Javascript
Vue中的vue-resource示例详解
Nov 02 Javascript
详解Vue中的scoped及穿透方法
Apr 18 Javascript
vue2.0项目集成Cesium的实现方法
Jul 30 Javascript
vue使用axios实现excel文件下载的功能
Jul 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 存取 MySQL 数据库的一个例子
2006/10/09 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
2015/01/09 PHP
php post大量数据时发现数据丢失问题解决方法
2015/06/20 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
Dom与浏览器兼容性说明
2010/10/25 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
js中eval详解
2012/03/30 Javascript
用js实现小球的自由移动代码
2013/04/22 Javascript
jquery实现select选中行、列合计示例
2014/04/25 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
jQuery弹簧插件编写基础之“又见弹窗”
2015/12/11 Javascript
JS三级可折叠菜单实现方法
2016/02/29 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
js eval函数使用,js对象和字符串互转实例
2017/03/06 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
jQuery表单设置值的方法
2017/06/30 jQuery
Node.js中环境变量process.env的一些事详解
2017/10/26 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
python中字典dict常用操作方法实例总结
2015/04/04 Python
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
django配置app中的静态文件步骤
2020/03/27 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
html5实现移动端适配完美写法
2017/11/16 HTML / CSS
美国旅游网站:Tours4Fun
2017/02/17 全球购物
斯德哥尔摩通票:Stockholm Pass
2018/01/09 全球购物
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
小学生操行评语大全
2014/04/22 职场文书
煤矿安全生产月活动总结
2014/07/05 职场文书
电工实训报告总结
2014/11/05 职场文书
婚礼答谢礼品
2015/01/20 职场文书
校运会班级霸气口号
2015/12/24 职场文书