gpt4 book ai didi

angularjs - 只有最后一个单选按钮触发 $viewChangeListener

转载 作者:行者123 更新时间:2023-12-01 02:02:57 25 4
gpt4 key购买 nike

我有一组单选按钮和一个表单中的文本输入。文本输入应用了一些验证,这取决于所选的单选按钮。

HTML:

<form name="myForm" novalidate>
<div class="radio">
<input type="radio" ng-model="myValue" name="radioGroup" value="1">1</input>
<input type="radio" ng-model="myValue" name="radioGroup" value="2">2</input>
<input type="radio" ng-model="myValue" name="radioGroup" value="3">3</input>
</div>
<div class="otherFormComponent">
<input type="text" ng-model="myTextValue" name="textValue" special-validator></input>
</div>
</form>

JS:
app.directive('specialValidator', function(){
return{
require: 'ngModel',
link: function(scope, elm, attrs, ctrl){
ctrl.$validators.specialValidator = function(modelValue, viewValue){
//Do some validation
};

//Force validation when a radio button changes
scope.myForm.radioGroup.$viewChangeListeners.push(function(){
scope.myForm.textValue.$validate();
});
}
};
});

不幸的是, scope.myForm.textValue.$validate()代码仅在选择最后一个单选按钮 (3) 时触发。选择其他单选按钮不会触发添加到 scope.myForm.radioGroup.$viewChangeListeners 的方法.

如何设置单选按钮,以便更改任何单选按钮都会触发 viewChangeListeners ?

最佳答案

我向 angular 报告了这个错误:https://github.com/angular/angular.js/issues/15696

他们建议使用不同的 name不同输入的属性。

关于angularjs - 只有最后一个单选按钮触发 $viewChangeListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34703156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com