from:http://blog.csdn.net/u011127019/article/details/52564111

定义和用法

ng-change 指令用于告诉 AngularJS 在 HTML 元素值改变时需要执行的操作。

ng-change 指令需要搭配 ng-model 指令使用。

AngularJS ng-change 指令指令不会覆盖原生的 onchange 事件, 如果触发该事件,ng-change 表达式与原生的 onchange 事件都会执行。

ng-change 事件在值的每次改变时触发,它不需要等待一个完成的修改过程,或等待失去焦点的动作。

ng-change 事件只针对输入框值的真实修改,而不是通过 JavaScript 来修改。


语法

<element ng-change="expression"></element>

<input>, <select>, 和  <textarea> 元素支持。

<radio>,<checkbox>


参数值

描述
expression 元素值改变时执行表达式。

实例说明,radio和checkbox

注:checkbox ng-model总是是true或false,而不是value,其他的ng-model默认都是value 的值

HTML

  1. <h3>Radio 控件测试</h3>
  2. <p><label>
  3. <input type="radio" value="男" name="sex" ng-model="value1" ng-change="radioChecked()" />
  4. </label>
  5. <label>
  6. <input type="radio" value="女" name="sex" ng-model="value1" ng-change="radioChecked()" />
  7. </label></p>
  8. <h3>checked 控件测试</h3>
  9. <p><div class="checkbox">
  10. <label>
  11. <input name="agree" type="checkbox" value="同意" ng-model="value2" ng-change="checkboxClick()" />
  12. 同意协议
  13. </label>
  14. </div>
  15. <div class="checkbox">
  16. <label>
  17. <input name="agree" type="checkbox" value="同意2" ng-model="value2" ng-change="checkboxClick()" />
  18. 同意协议2
  19. </label>
  20. </div></p>

JS:

[javascript] view plain copy

print?

  1. var app = angular.module('myApp', []);
  2. app.controller('validateCtrl', function ($scope) {
  3. //randio ng-change事件和原始onchange相同
  4. //radio ng-model 的值是value
  5. $scope.radioChecked = function () {
  6. console.info($scope.value1);
  7. }
  8. //checkbox ng-change事件和原始onchange相同
  9. //checkbox ng-model总是是true或false
  10. $scope.checkboxClick = function () {
  11. console.info($scope.value2);
  12. }
  13. });

实例说明,text,select

HTML

  1. <form class="form-horizontal">
  2. <div class="form-group">
  3. <label class="control-label">姓名:</label>
  4. <input type="text" class="form-control" ng-model="name" ng-change="txtChange();" />
  5. </div>
  6. <div class="form-group">
  7. <label class="control-label">选择年级:</label>
  8. <select class="form-control" ng-change="selectChange();" ng-model="grade">
  9. <option value="1">一年级</option>
  10. <option value="2">二年级</option>
  11. </select>
  12. </div>
  13. </form>

JS

[javascript] view plain copy

print?

  1. var app = angular.module('myApp', []);
  2. app.controller('validateCtrl', function ($scope) {
  3. //textbox 的ng-change事件和原始ng-change不相同,而是和$scope.$watch()监听相同
  4. //textbox 的ng-model为当前输入框的内容,为value值
  5. $scope.txtChange = function () {
  6. console.info($scope.name);
  7. }
  8. //select 的ng-change事件和原始ng-change相同
  9. //ng-model 的默认情况下ng-model的结果为value值
  10. $scope.selectChange = function () {
  11. console.info($scope.grade);
  12. }
  13. });

AngularJs ng-change事件/指令(转)的更多相关文章

  1. angularjs学习笔记—事件指令

    ngClick 适用标签:所有触发条件:单击 #html <div ng-controller="LearnCtrl"> <div ng-click=" ...

  2. AngularJS1.X学习笔记4-内置事件指令及其他

    AngularJS为我们定义了一系列事件指令,方便我们对用户的操作作出响应.甚至他还有一个可选模块提供了触摸事件和手势事件的支持,为移动端开发提供了可能.现在开始学习一下AngularJS的事件指令. ...

  3. ng之自定义指令

    最近开始研究并使用angular,今天就来简单讲讲对于ng中自定义指令的一下使用心得吧! 相信用过ng的人都对ng中的指令有所了解,指令,我将其理解为AngularJS操作HTML element的一 ...

  4. AngularJS HTML DOM& 事件

    AngularJS 为 HTML DOM 元素的属性提供了绑定应用数据的指令. ng-disabled 指令直接绑定应用程序数据到 HTML 的 disabled 属性 <div ng-app= ...

  5. AngularJS 学习之事件

    1.ng-click指令:定义了AngularJS点击事件 <div ng-app="" ng-controller="myCtrl"> <b ...

  6. angularjs的touch事件

    angularJs没有touch事件.这里提供一个touch指令. ngTouch.js "use strict"; angular.module("ngTouch&qu ...

  7. Ⅶ.AngularJS的点点滴滴-- 事件

    事件(和js一样有冒泡和捕获) <html> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2 ...

  8. angularjs directive and component 指令与组件 ( 1.5.0 以后 )

    之前写过一篇了 http://www.cnblogs.com/keatkeat/p/3903673.html 但某些部分写的不太清楚,甚至有点错误,所以今天特地在这里再来谈谈. 这篇主要是说指令的隔离 ...

  9. 带你走近AngularJS - 创建自己定义指令

    带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自己定义指令 ------------ ...

  10. 带你走近AngularJS 之创建自定义指令

    带你走近AngularJS 之创建自定义指令 为什么使用AngularJS 指令? 使用过 AngularJS 的朋友应该最感兴趣的是它的指令.现今市场上的前端框架也只有AngularJS 拥有自定义 ...

随机推荐

  1. 托布利兹变换 toeplitz 变换

    托布利兹变换 toeplitz 变换 算术平均变换 '''An->C=>(A1+A2+A3+...+An)/n->C,K_ni=1/n=>+[AiK_ni->C (Yn- ...

  2. 内部排序->基数排序->链式基数排序

    文字描述 基数排序是和前面各类排序方法完全不相同,前面几篇文章介绍的排序算法的实现主要是通过关键字间的比较和移动记录这两种操作,而实现基数排序不需要进行记录关键字间的比较.基数排序是一种借助多关键字排 ...

  3. Badboy测试工具官网下载以及安装导出Jmeter脚本

    首先打开浏览器,在百度上搜索“Badboy ”,默认搜索到的第一个就是官网地址: 1 也可以在其他软件下载网址上进行下载 2 点击进入后,官网左侧菜单中有“download”字样,或者官网右侧顶部也有 ...

  4. SQL join的介绍

    学员表 SELECT * FROM tb_address; SELECT * FROM tb_student 1.JOIN关联两个表数据,将匹配数据展示,数据无匹配值则不展示 注释:INNER JOI ...

  5. python进程池爬取下载美女图片(xpath)--lowbiprogrammer

    # -*- coding: utf-8 -*-import requests,osfrom lxml import etreeimport multiprocessingfrom retrying i ...

  6. SQL函数汇总大全

    聚合函数对一组值计算后返回单个值.除了count(统计项数)函数以外,其他的聚合函数在计算式都会忽略空值(null).所有的聚合函数均为确定性函数.即任何时候使用一组相同的输入值调用聚合函数执行后的返 ...

  7. 【Python全栈-后端开发】Django入门基础

    Django基础知识 一. 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的 ...

  8. JavaScript学习(一)

    变量本身是没有类型的,类型在于它的值(注意开头都是小写).

  9. Linux dmidecode 命令

    当我们需要获取机器硬件信息时,可使用linux系统自带的dmidecode工具进行查询. dmidecode 用于获取服务器的硬件信息,通常是在不打开计算机机箱的情况下使用该命令来查找硬件详细信息 这 ...

  10. OSError:[Errno 13] Permission denied:'my_library' 问题解决方法

    出现问题: 执行 rosrun rosserial_windows make_libraries.py my_library 命令时出现OSError:[Errno 13] Permission de ...