我有一个带有文本字段和几个复选框的表单。如果我先填写<input type="text">
字段,它会完全正常,但如果我先勾选复选框,则复选框不会传递给ng-submit()
上的我的函数。
HTML
<form ng-submit="createService(service)">
<input type="text" ng-model="service.name" required>
<div ng-repeat="provider in providers">
<md-checkbox id="{{ provider }}" ng-model="service.providers[provider.$id]">{{ provider.name }}</md-checkbox>
</div>
<button type="submit" class="h4 button button-big mb4" aria-label="Add Service">Add Service</button>
</form>
JS
$scope.createService = function(service) {
var checkedProviders = {};
var serviceProviders = service.providers;
for (var checked in serviceProviders) {
if (serviceProviders[checked]) {
checkedProviders[checked] = true;
}
}
services.$add({
name: service.name,
providers: checkedProviders
});
};
这很奇怪,我无法理解为什么会这样做。任何有关为什么会发生这种情况的帮助表示赞赏。
提前致谢。