jQuery设置的值上的AngularJs无效形式
Posted
技术标签:
【中文标题】jQuery设置的值上的AngularJs无效形式【英文标题】:AngularJs invalid form on value set by jQuery 【发布时间】:2014-09-30 11:19:57 【问题描述】:我正在使用相同的表单来编辑 ng-repeat 中存在的许多记录。 当我单击编辑按钮时,我只需执行以下操作:
$('#EvaluationQuestionId').val($scope.data.EvaluationQuestion[$index].id);
$('#EvaluationQuestionEvaluationTopicId').val($scope.data.EvaluationQuestion[$index].evaluation_topic_id);
$('#EvaluationQuestionName').val($scope.data.EvaluationQuestion[$index].name);
表单输入已正确填写,但我不明白为什么,AngularJs 模型不会像您手动输入这些输入时那样更新,并且会保留无效标签,直到您编写任何内容或在填充的选择输入中选择另一个选项.
我试过了
$scope.$apply();
还有在表格之前...
$scope.evaluationFormQuestions.$setPristine(true);
但是我已经没有精力和想法了……
【问题讨论】:
在角度中,您修改模型,并允许随后触发的摘要循环更新视图。在您的帖子中,您使用 jquery 直接更新视图。这在 Angular 世界中是不好的做法。 【参考方案1】:好的,我已经更新了代码,并且按照 pixelbits 的建议,我将数据直接输入到模型中,而不是输入。它可以工作,而且代码更简单、更短。
所以...吸取的教训:阅读之前的所有文档...:)
https://docs.angularjs.org/guide/forms
【讨论】:
以上是关于jQuery设置的值上的AngularJs无效形式的主要内容,如果未能解决你的问题,请参考以下文章
JQuery UI滑块'slide'功能未设置angularJS值