我遇到了问题,希望有人能提供帮助。
现在,我在表单中显示了几个复选框,这些复选框是从我的 Firebase 数据库中获取的。在我的 Controller 中,我尝试使用 ng-submit 来存储表单的整个数据。 我的复选框 JSON 格式应如下所示。
{
"apple" : true,
"spotify" : true
}
好的,下面是我的 HTML 和 Javascript 代码
<label class="checkbox-inline" ng-repeat="hashtag in hashtags" for="{{hashtag}}">
<input type="checkbox" name="{{hashtag.$value}}" id="{{hashtag.$value}}" value="{{hashtag.$value}}" ng-model="hashtag.SELECTED" ng-true-value="true" ng-false-value="false">
{{hashtag.$value | capitalize}}
</label>
这里是我的 JavaScript
form.$add({
description: $scope.inputDescription,
hashtags: {
*I don't know how to put checkbox's result here.*
},
time: Firebase.ServerValue.TIMESTAMP,
title: $scope.inputTitle,
url: $scope.inputUrl
})
有谁可以帮忙吗?非常感谢。
更新 谢谢回复。我真的很感激那些!然而,我发现我忘了提及一些事情,我尝试了回复中的答案,但它们不起作用。下图将解释我的问题。 enter image description here 非常感谢!
最后的解决方案以防人们对我刚刚找到的答案感到好奇。以下是我的解决方案。感谢你们!我喜欢 stackoverflow!
function checkbox(hashtags) {
var arr = {};
for(var hashtag in hashtags) {
if(hashtags[hashtag].SELECTED === true){
arr[hashtags[hashtag].$value] = true;
}
}
return arr;
}
最佳答案
类似这样,我在类似问题中找到了信息:
<input type="submit" name="submit" value="submit" ng-click="check(hashtags)"/>
$scope.check= function(data) {
var arr = [];
for(var i in data){
if(data[i].SELECTED=='Y'){
arr.push(data[i].value);
}
}
//At this points you have all the selected hashtags on arr Array
}
关于javascript - 如何从 Angular JS 中的 ng-repeat 复选框值获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32976863/