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 相关文章推荐
Prototype Date对象 学习
Jul 12 Javascript
浅析javascript的间隔调用和延时调用
Nov 12 Javascript
javascript排序函数实现数字排序
Jun 26 Javascript
详解JavaScript操作HTML DOM的基本方式
Oct 21 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
Jul 09 Javascript
JS Testing Properties 判断属性是否在对象里的方法
Oct 01 Javascript
Bootstrap 3多级下拉菜单实例
Nov 23 Javascript
解决linux下node.js全局模块找不到的问题
May 15 Javascript
js数组去重的方法总结
Jan 18 Javascript
JavaScript多种图形实现代码实例
Jun 28 Javascript
用JavaScript实现贪吃蛇游戏
Oct 23 Javascript
vue项目多环境配置(.env)的实现
Jul 21 Vue.js
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中养成7个面向对象的好习惯
2010/01/28 PHP
PHP多个版本的分析解释
2011/07/21 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
jQuery插件 tabBox实现代码
2010/02/09 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
封装好的javascript前端分页插件pagination
2016/01/04 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
js时间查询插件使用详解
2017/04/07 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
Vue Components 数字键盘的实现
2019/09/18 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
JavaScript进制转换实现方法解析
2020/01/18 Javascript
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
Series和DataFrame使用简单入门
2019/11/13 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
详解Flask前后端分离项目案例
2020/07/24 Python
python中常用的数据结构介绍
2021/01/12 Python
css3新单位vw、vh的使用教程
2018/03/23 HTML / CSS
毕业自我鉴定
2013/11/05 职场文书
大学生自助营养快餐店创业计划书
2014/01/13 职场文书
审计主管岗位职责
2014/01/31 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
考试作弊被抓检讨书
2014/10/02 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
小学数学教师研修日志
2015/11/13 职场文书
2016年政治理论学习心得体会
2016/01/25 职场文书
创业计划书之校园超市
2019/09/12 职场文书