我有一张AngularJS验证表格
问题是我使用Jquery将输入元素添加到此表单中,而AngularJS不会将这些元素添加到表单的验证中。
这是一个例子:http://jsfiddle.net/ULEsy/
var input = $compile($('<input type="text" ng-model="textinput" required />'))($scope);
$("#someform").append(input);
在该示例中,即使输入字段无效(空 - 可以通过红色边框看到),整个表单也是有效的。 有什么帮助吗?
答案 0 :(得分:2)
@Ephi我找到了解决这个问题的方法。 显然,您需要先将元素附加到DOM,然后才使用$ compile。此外,新元素需要一个名称。
请参阅here
angular.module("app", []).controller('someController', function($scope, $compile) {
$scope.add = function() {
var input = $('<input type="text" ng-model="textinput" name="x" required />');
$("#someform4").append(input);
$compile(input)($scope);
}
});