它是一个简单的形式下拉和保存按钮。在页面加载选择应该是ng-invalid,因为它是必需的并且没有选择任何内容但是表单和选择都是ng-valid并且调用了save函数。 一旦我选择任何东西并取消选择它。然后它表现得很好。
<form role="form" name="frmVariableConfig" id="frmVariableConfig" novalidate ng-submit="frmVariableConfig.$valid && saveChanges()">
<div>
<div class="form-group">
<div class="form-group control-group">
<span>Logic</span>
<select name="service_id" class="Sitedropdown" style="width: 220px;"
ng-model="CurrCustomer.Logic"
ng-options="service.ServiceID as service.ServiceName for service in services"
required="">
<option value="">Select Service</option>
</select>
</div>
</div>
</div>
<div>
<button type="submit" class="btn btn-sm text-right">Save</button>
</div>
</form>
控制器代码如下所示。
(function () {
'use strict';
var controllerId = 'dashboard';
angular.module('app').controller(controllerId, ['$scope', dashboard]);
function dashboard($scope) {
$scope.CurrCustomer = {};
$scope.CurrCustomer.Logic = false;
$scope.saveChanges = function () {
alert('function called');
};
$scope.services = [
{ ServiceID: 1, ServiceName: 'Service1' },
{ ServiceID: 2, ServiceName: 'Service2' },
{ ServiceID: 3, ServiceName: 'Service3' }
];
}})();
答案 0 :(得分:1)
您需要从控制器中删除填充$scope.CurrCustomer.Logic = false;
并使其在控制器负载上有效的setter ng-model
。填写CurrCustomer.Logic
值后,它将成为有效输入。