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 Select操作大集合
May 26 Javascript
javascript call方法使用说明
Jan 11 Javascript
基于jQuery UI CSS Framework开发Widget的经验
Aug 21 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
Jan 14 Javascript
node.js正则表达式获取网页中所有链接的代码实例
Jun 03 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
Nov 19 Javascript
node.js中的emitter.emit方法使用说明
Dec 10 Javascript
jQuery获得字体颜色16位码的方法
Feb 20 Javascript
Backbone中View之间传值的学习心得
Aug 09 Javascript
ES6新特性六:promise对象实例详解
Apr 21 Javascript
详解微信小程序Page中data数据操作和函数调用
Sep 27 Javascript
ES6 Set结构的应用实例分析
Jun 26 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 日,周,月点击排行统计
2012/01/11 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
jquery模拟按下回车实现代码
2011/09/20 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
jQuery中html()方法用法实例
2014/12/25 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
全面解析bootstrap格子布局
2016/05/22 Javascript
用JavaScript获取页面文档内容的实现代码
2016/06/10 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
AngularJs 延时器、计时器实例代码
2017/09/16 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
[48:32]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs VG
2018/04/01 DOTA
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
Python实现Dijkstra算法
2018/10/17 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
护士自荐信怎么写
2013/10/18 职场文书
汽车运用工程毕业生自荐信
2013/10/29 职场文书
毕业生自荐信的主要内容
2013/10/29 职场文书
应届医学毕业生求职信分享
2013/12/02 职场文书
总经理岗位职责范本
2014/02/02 职场文书
新学期标语
2014/06/30 职场文书
幼儿教师辞职信
2015/02/27 职场文书
政审证明材料
2015/06/19 职场文书
CSS3实现三角形不断放大效果
2021/04/13 HTML / CSS
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL
P站美图推荐——变身女主角特辑
2022/03/20 日漫