이 부분은 fiddle을 참조하십시오. 필드에 포커스가 있으면 드롭 다운 상자가 나타납니다. 드롭 다운 상자에서 요소를 클릭하면 값이 모델 (categoryFilter
)에서 업데이트되고 모델 상태는 ng-invalid
에서 ng-valid
으로 업데이트됩니다. 값을 제거하면 ng-invalid
으로 돌아가고 값을 다시 선택하면 ng-valid
으로 돌아갑니다. 즉, 완벽하게 작동합니다.각도 요소가 컨트롤러에서 업데이트 된 후에 양식 요소가 유효하지 않습니다.
나는이 코드를 제 코드에 따라 만들었습니다. 내 코드 (컨트롤러 + 양식)가 정확히 동일하지만 항목을 선택하고 지우고 항목을 다시 선택한 후 어떤 이유로 든 필드는 ng-invalid
으로 유지됩니다. go here 인 경우이 값을 직접 확인하여 값을 선택하고 제거한 다음 다시 선택하십시오. 양식 + 컨트롤러는 동일하지만 상태는 ng-invalid
으로 표시됩니다. 문제가 어디 있니?
desktop.controller('StartClubModalController', function ($scope,$http,$modalInstance) {
$scope.$watch('categoryFilter', function(value) {
angular.element(categoryFilter).val(value);
});
$scope.categories = [{"Category":{"id":"6","category":"Community"}},{"Category":{"id":"4","category":"Competitions"}},{"Category":{"id":"5","category":"Crossfit"}},{"Category":{"id":"2","category":"Fitness"}},{"Category":{"id":"3","category":"Sport"}},{"Category":{"id":"1","category":"Workout"}}];
$scope.categoryDropDownClickEvent = function(value) {
$scope.categoryFilter = value;
};
});
감사를 고정 참조, 내가 지시문에 넣어해야 참으로 사실이다. 그게 내 계획 이었어. 'watch '를 제거하는 것에 관해서, 제가 그것을 제거했을 때 그것은 당신이 항목을 두번 선택하면 모델이 갱신되지 않게됩니다. 이 코드는 동일하지만 내 앱에서만 발생하며 피들링에서는 발생하지 않습니다. S. 나는이 문제와 관련이 있다고 생각한다. [여기] (http://www.workoutcrowd.com/users/20/name+lastlkj)를 확인하고 무언가를 선택하고 제거한 다음 다시 선택하십시오. 나에게 정신 나간다. – user2899800
이상하게도 유일한 방법은 사이트에서 가져 오기를 사용 중지하는 것입니다. –
Angular에 대해 마지막 안정 버전 1.2.0-rc.3을 사용해 보셨습니까? –