Javascript AngularFire:将复选框数据添加到Firebase

Javascript AngularFire:将复选框数据添加到Firebase,javascript,angularjs,firebase,angularfire,Javascript,Angularjs,Firebase,Angularfire,我试图找出如何将表单中的数据,特别是复选框中的数据添加到Firebase 提供商和服务在我的Firebase中是两个独立的项目。我正在使用ng repeat on providers生成我的复选框 <form ng-submit="addService(service)"> <input type="text" name="name" ng-model="service.name"> <label for="{{ provider }}" ng-repeat

我试图找出如何将表单中的数据,特别是复选框中的数据添加到Firebase

提供商和服务在我的Firebase中是两个独立的项目。我正在使用ng repeat on providers生成我的复选框

<form ng-submit="addService(service)">
  <input type="text" name="name" ng-model="service.name">
  <label for="{{ provider }}" ng-repeat="provider in providers">
    <input type="checkbox" name="provider" id="{{ provider }}" ng-model="provider.name">
    {{ provider.name }}
  </label>
  <button type="submit">Submit</button>
</form>
我正试图找出如何将每个选中复选框的键传递给addService函数,因此它如下所示:

$scope.addService = function(service) {
  services.$add({
    name: service.name
  })
};
"providers" : {
  "provider1" : { "name" : "The Whittington Hospital" },
  "provider2" : { "name" : "Homerton Hospital" },
  ...
},
"services" : {
  "service1" : {
    "name" : "Hernia Repair",
    "providers" : {
      "provider1" : true,
      "provider2" : true
    }
  }
  ...
}

任何关于如何进行类似工作的帮助都将不胜感激。提前谢谢

如果我理解正确,您只希望获得选中或未选中的工厂列表

如果是这样的话,一个简单的方法就是创建一个名为selection的对象来保存选中的工厂。单击submit按钮时,您可以调用Firebase服务添加一个对象,该对象包含服务的相关信息名称、所选工厂的列表,然后清除所选内容等

您还可以使用$watchCollection查看此选择集合,因此可以维护仅包含选定项的列表

我在这里创建了一个示例来说明第一个解决方案