簡體   English   中英

如何從復選框獲取價值? 在Angular JS中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM