AngularJS 單選框及多選框的雙向動(dòng)態(tài)綁定
AngularJS 在 <input type="text" /> 中實(shí)現(xiàn)雙向動(dòng)態(tài)綁定十分簡(jiǎn)單,如下所示:
<input type="text" ng-model="topic.title" />
只需要用ng-model 與 $scope 中的屬性對(duì)應(yīng),即實(shí)現(xiàn)了type=”text” 的雙向動(dòng)態(tài)綁定。當(dāng) <input type="radio" /> 及 <input type="checkbox" /> 時(shí)情況略有不同:
1. <inputtype="radio" />
<input type="radio" name="person-action" value="go_home" ng-model="person.action" />回家 <input type="radio" name="person-action" value="go_to_school" ng-model="person.action" />回學(xué)校
通過(guò) value 屬性指定選中狀態(tài)下對(duì)應(yīng)的值,并通過(guò) ng-model 將單選框與 $scope 中的屬性對(duì)應(yīng),便實(shí)現(xiàn)了 type=”radio” 時(shí)的雙向動(dòng)態(tài)綁定。
2. <input type="checkbox" />
<input type="checkbox" ng-true-value="true" ng-false-value="false" ng-model="phone.play_sound" />鈴聲 <input type="checkbox" ng-true-value="true" ng-false-value="false" ng-model="phone.play_vibrate" />震動(dòng) <input type="checkbox" ng-true-value="true" ng-false-value="false" ng-model="phone.play_lights" />呼吸燈
通過(guò)AngularJS 的內(nèi)置指令 ng-true-value 和 ng-false-value ,指定多選框在選中和未選中狀態(tài)下對(duì)應(yīng)的值,再通過(guò)ng-model 將其與 $scope 中的屬性對(duì)應(yīng),便實(shí)現(xiàn)了type=”checkbox” 的雙向動(dòng)態(tài)綁定。
但是理想跟現(xiàn)實(shí)總是相差太多,在實(shí)際操作過(guò)程中還是出現(xiàn)了問(wèn)題。應(yīng)該是ng-repeat中scope作用域的問(wèn)題。
經(jīng)過(guò)一番搜索、調(diào)試,自己終于將此問(wèn)題解決了,效果圖如下:

核心源碼
js
var str = ""; // 原來(lái)存放選中的項(xiàng)
$scope.Selected = false; //默認(rèn)未選中
var choseArr=[]; // 定義數(shù)組用于存放前端顯示
$scope.check = function(z,x){
console.log("HUY:");
console.log(z);
console.log("HUYU:");
console.log(x);
if (x == false) { // 選中
str = str + z + ',';
} else {
str = str.replace(z + ',', ''); // 取消選中
}
choseArr = (str.substr(0,str.length-1)).split(',');
console.log("HY:");
console.log(choseArr);
$scope.number_request = choseArr.length; // 前端顯示所選數(shù)量
$scope.content_request = choseArr; // 前端顯示所選請(qǐng)求ID
};
Html
<tr ng-repeat="item in querydata">
<td ng-bind="$index+1">1</td>
<td><a ui-sref="#">{{item.postid}}</a></td>
<td>{{item.medname}}</td>
<td>{{item.medfact}}</td>
<td>{{item.medcnt}}</td>
<td>{{item.remark}}</td>
<td>{{item.tel}}</td>
<td>{{item.post_time}}</td>
<td><input id={{item.postid}} type="checkbox" ng-model="Selected" ng-click="check(item.postid,Selected)" /></td>
</tr>
參考文獻(xiàn):
http://m.fzitv.net/article/68155.htm
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
Angular Module聲明和獲取重載實(shí)例代碼
這篇文章主要介紹了Angular Module聲明和獲取重載實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2016-09-09
Angular 通過(guò)注入 $location 獲取與修改當(dāng)前頁(yè)面URL的實(shí)例
這篇文章主要介紹了Angular 通過(guò)注入 $location 獲取與修改當(dāng)前頁(yè)面URL的實(shí)例代碼,需要的朋友可以參考下2017-05-05
AngularJs bootstrap搭載前臺(tái)框架——js控制部分
本文主要介紹AngularJs bootstrap搭載前臺(tái)框架js控制部分的資料,這里有實(shí)現(xiàn)代碼,有興趣的小伙伴可以參考下2016-09-09
AngularJS基礎(chǔ) ng-dblclick 指令用法
本文主要介紹AngularJS ng-dblclick 指令,這里對(duì)ng-dblclick基礎(chǔ)資料整理并詳細(xì)介紹,簡(jiǎn)單的代碼實(shí)例和實(shí)現(xiàn)效果,希望能幫助學(xué)習(xí)AngularJS的朋友2016-08-08
詳細(xì)解讀AngularJS中的表單驗(yàn)證編程
這篇文章主要介紹了詳細(xì)解讀AngularJS中的表單驗(yàn)證編程,AngularJS是一個(gè)非常熱門(mén)的JavaScript庫(kù),需要的朋友可以參考下2015-06-06
AngularJS基礎(chǔ) ng-switch 指令簡(jiǎn)單示例
本文主要講解AngularJS ng-switch 指令,這里對(duì)ng-switch 指令的基礎(chǔ)資料做了詳細(xì)整理,并附代碼示例,有興趣的小伙伴可以參考下2016-08-08
在 Angular 中實(shí)現(xiàn)搜索關(guān)鍵字高亮示例
本篇文章主要介紹了在 Angular 中實(shí)現(xiàn)搜索關(guān)鍵字高亮示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03

