我遇到了问题,我很感激有人可以提供帮助。
现在我在我的表单中显示了几个从我的firebase数据库中获取的复选框。在我的控制器中,我正在尝试使用ng-submit来存储表单的整个数据。 我的复选框JSON格式应如下所示。
<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>
好的以下是我的HTML和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
})
我的Javascript在这里
function checkbox(hashtags) {
var arr = {};
for(var hashtag in hashtags) {
if(hashtags[hashtag].SELECTED === true){
arr[hashtags[hashtag].$value] = true;
}
}
return arr;
}
有人可以帮忙吗?非常感谢你。
更新 谢谢回复。我非常感谢!但是,我发现我忘了提一些东西,我从答复中尝试了答案而且没有用。下面的图片将解释我的问题。 enter image description here 非常感谢你!
最终解决方案以防人们对我刚才想出的答案感到好奇。以下是我的解决方案。感谢你们!我喜欢stackoverflow!
$request = xmlrpc_encode_request("methodname", array("username", "password", array('first_name'=>'John', 'last_name'=>'Smith')));
答案 0 :(得分:1)
像这样,我在类似的问题中找到了信息:
<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
}
答案 1 :(得分:0)
尝试将ng-model
更改为
ng-model="mhashtags[hashtag.$value]"
通过此操作,您的范围中将有一个mhashtags
变量,这正是您需要发送的变量。
答案 2 :(得分:0)
假设 hashtags 是这个JSON:
$scope.hashtags = {
"apple" : true,
"spotify" : true
};
我会将ng-repeat更改为:
<label class="checkbox-inline" ng-repeat="(hashtag, bool) in hashtags" for="{{hashtag}}">
<input type="checkbox" name="{{hashtag}}" id="{{hashtag}}" ng-value="bool" ng-model="hashtag">
{{hashtag | capitalize}}
</label>
#标签是对象的关键, bool 是值,因此不需要&#34; $ value&#34;。