Angular:将复选框表单数据发送到Firebase

时间:2014-10-29 00:32:10

标签: angularjs checkbox firebase

我的JS文件中有一个名为list的对象:

$scope.list = {
  hospital : 'Hospital',
  clinic : 'Clinic',
  gp : 'GP',
  denist : 'Dentist',
  aae : 'A&E'
};

我将这五个设施打印到这样的表格中:

<form role="form" name="addPlaceForm" ng-submit="createHospital(newHospital)">
   <label class="checkbox-inline" ng-repeat="(key, value) in list">
       <input type="checkbox" id="{{ key }}" value="{{ key }}" ng-model="newHospital.facilities">{{ value }}
   </label>
</form>

当我提交表单时,我希望将已选中复选框的结果发送到Firebase中的facilities对象。我的createHospital函数如下所示:

var rootRef = new Firebase('URL');
var placesRef = rootRef.child('places');

function createHospital(hospital) {
  placesRef.push(hospital);
}

如何仅将选中的复选框推送到名为facilities的嵌套对象,该对象位于我的Firebase中当前的places对象中?

对此有任何帮助表示赞赏。提前谢谢!

1 个答案:

答案 0 :(得分:1)

我在http://plnkr.co/kfH4I5Fzy2Ma14FjQj67展示了如何做到这一点。

你大多是对的。我做的更改是使ng-model =“newHospital.facilities [key]”并将$ scope.newHospital初始化为{},以便在控制器中看到它。我还添加了一个提交按钮。

<form role="form" name="addPlaceForm" ng-submit="createHospital(newHospital)">
   <label class="checkbox-inline" ng-repeat="(key, value) in list">
        <input type="checkbox" id="{{ key }}" value="{{ key }}" ng-model="newHospital.facilities[key]">{{ value }}
   </label>
</form>