[英]How to get value from an checkbox? in Angular JS
我試圖從綁定到復選框的$ rootScope對象獲取值。
HTML:
<tr ng-repeat="system_history in SystemHistoryResponse.system_history">
<td><input type="checkbox" ng-model="versionValues[system_history.version]"></td>
</tr>
JS:
$rootScope.versionValues = {};
現在輸出:
versionValues: {"321":true,"322":true}
所需的輸出:
versionValues: [321, 322]
我只在需要時將對象轉換為數組:
var a = {"321":true,"322":true};
var b = [];
var i = 0;
for(x in a){
b[i++] = parseInt(x,10);
}
// b === [321,322]
否則,您可以使用ngChange指令(注意:我尚未測試此代碼):
html:
<input type="checkbox" ng-model="versionValues[system_history.version]
ng-change="update(system_history.version)"
">
js:
$rootScope.versionValues = {};
$rootScope.versionValuesArray = [];
$rootScope.update(version){
if($rootScope.versionValues[version]){
// add version to $rootScope.versionValuesArray
}else{
// remove version from $rootScope.versionValuesArray
}
}
但是,這樣做的問題是,從數組中插入和刪除數組需要花費線性時間,這與將整個對象轉換為數組的時間相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.