AngularJS單選框及多選框?qū)崿F(xiàn)雙向動態(tài)綁定
在AngularJS中提及雙向數(shù)據(jù)綁定,大家肯定會想到ng-model指令。
一、ng-model
ng-model指令用來將input、select、textarea或自定義表單控件同包含它們的作用域中的屬性進(jìn)行綁定。它將當(dāng)前作用域中運(yùn)算表達(dá)式的值同給定的元素進(jìn)行綁定。如果屬性不存在,它會隱式創(chuàng)建并將其添加到當(dāng)前作用域中。
始終用ng-model來綁定scope上一個數(shù)據(jù)模型內(nèi)的屬性,而不是scope上的屬性,這可以避免在作用域或后代作用域中發(fā)生屬性覆蓋!
<input type="text" ng-model="modelName.somePrototype" />
二、type=”radio”
通過 value 屬性指定選中狀態(tài)下對應(yīng)的值,并通過 ng-model 將單選框與 $scope 中的屬性對應(yīng),便實(shí)現(xiàn)了 type=”radio” 時的雙向動態(tài)綁定。
<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 的內(nèi)置指令 ng-true-value 和 ng-false-value ,指定多選框在選中和未選中狀態(tài)下對應(yīng)的值,再通過ng-model 將其與 $scope 中的屬性對應(yīng),便實(shí)現(xiàn)了type=”checkbox” 的雙向動態(tài)綁定。
<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>
以上就是關(guān)于AngularJS單選框及多選框?qū)崿F(xiàn)雙向動態(tài)綁定的相關(guān)介紹,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
Angular應(yīng)用tsconfig.json中的lib屬性示例解析
這篇文章主要介紹了Angular應(yīng)用tsconfig.json中的lib屬性示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
AngularJS中關(guān)于ng-class指令的幾種實(shí)現(xiàn)方式詳解
這篇文章給大家介紹了angularJS中ng-class指令的三種實(shí)現(xiàn)方式,其中包括通過數(shù)據(jù)的雙向綁定、通過對象數(shù)組和通過key/value這三種方式,有需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。2016-09-09
AngularJS模仿Form表單提交的實(shí)現(xiàn)代碼
本文通過一段實(shí)例代碼給大家簡單介紹了angularjs模仿form表單提交的方法,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧2016-12-12
AngularJS 中的Promise --- $q服務(wù)詳解
這篇文章主要介紹了AngularJS 中的Promise --- $q服務(wù)詳解方法的相關(guān)資料,需要的朋友可以參考下2016-09-09
AngularJS教程之MVC體系結(jié)構(gòu)詳解
本文主要講解AngularJS MVC體系結(jié)構(gòu),這里提供詳細(xì)的教程供大家學(xué)習(xí)參考,有需要的小伙伴可以參考下2016-08-08
AngularJS 實(shí)現(xiàn)點(diǎn)擊按鈕獲取驗(yàn)證碼功能實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了AngularJS 實(shí)現(xiàn)點(diǎn)擊按鈕獲取驗(yàn)證碼功能,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-07-07
使用yeoman構(gòu)建angular應(yīng)用的方法
下面小編就為大家?guī)硪黄褂脃eoman構(gòu)建angular應(yīng)用的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
Angular中ng-template和ng-container的應(yīng)用小結(jié)
Angular的日常工作中經(jīng)常會使用到ng-template和ng-container,本文對他們做一個總結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2022-06-06
AngularJS實(shí)現(xiàn)Input格式化的方法
這篇文章主要介紹了AngularJS實(shí)現(xiàn)Input格式化的方法,結(jié)合實(shí)例形式分析了AngularJS實(shí)現(xiàn)Input格式化的操作步驟與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-11-11

