1
我創建了一個包含textarea和JQuery Raty插件的表單。 Raty插件使用Angular指令添加,其中包含一個自定義表單驗證,確保用戶實際評分。 我的表單提交按鈕取決於$有效狀態的形式。JQuery Raty和Angular - 添加表單驗證
問題是我設置了我的raty的有效性後,我的表單。$有效值沒有刷新 - 它在表單中需要另一個用戶操作來刷新該值。
例如如果用戶在文本區域中輸入了評論,並且在評級按鈕仍然被禁用之後,只有在他在評論文本區域按鈕狀態中輸入另一個字符後纔會刷新。
如何在表單上應用raty有效性更改$ $立即生效?
謝謝!
我的代碼:
.directive("ngRaty", function() {
return {
require: 'ngModel',
restrict: 'E',
link: function(scope, elem, attrs,ctrl) {
ctrl.$setValidity('ngRaty',false);
$(elem).raty({score: attrs.score,
number: attrs.number,
path: '/resources/img/',
hints: ['Awaful', 'Bad', 'Ok', 'Good', 'Excellent'],
click: function (score, evt) {
scope.feedbackDetails.score=score;
ctrl.$setValidity('ngRaty',true);
}
}
)
}
}
});
<form name="feedbackForm" class="form-horizontal" novalidate>
<ng-raty ng-model="feedbackDetails.score" required></ng-raty>
<textarea name="review" ng-model="feedbackDetails.review" required></textarea>
<button ng-click="submitFeedback(feedbackDetails)" ng-disabled="!feedbackForm.$valid">Submit</button>
</form>