请检查该小提琴: http://jsfiddle.net/kgXRa/如何从AngularJS动态表单中删除元素?
这里是代码(在实施的jsfiddle)
var app = angular.module('myApp', []);
app.controller('MyCtrl', ['$scope', function ($scope) {
$scope.field = [];
$scope.value = [];
$scope.inputCounter = 0;
}]);
app.directive('addInput', ['$compile', function ($compile) {
return {
restrict: 'A',
link: function (scope, element, attrs) {
element.find('button').bind('click', function() {
var input = angular.element('<div><input type="text" ng-model="field[' + scope.inputCounter + ']"><input type="text" ng-model="value[' + scope.inputCounter + ']"> <a href="javascript:;" ng-click="remove_it(' + scope.inputCounter + ')">remove</a></div> ');
var compile = $compile(input)(scope);
element.append(input);
scope.inputCounter++;
scope.remove_it = function(scope_counter) {
compile.remove(this);
scope.inputCounter--;
}
});
}
}
}]);
我需要当用户创建新的字段添加删除按钮。不知何故,我需要删除计数器,以便在用户删除输入时清除数组。 我试图使用jQuery,但我认为应该有一种方式Angular.JS
随着我写的脚本删除了错误的。
谢谢你们。
你为什么不只是使用一个NG重复,以实时生成你的领域?当我们可以很容易地用核心角码完成时,你不应该真的创建或删除这样的dom节点 – jraede
我知道我们在这里回答人们的问题,但是当我们看到问题没有时,我们该怎么办?因为其他代码只是不好的做法?我们应该回答他想要的还是应该告诉他。我认为应该有一个SO功能正是这个 – Luke
@Luke我个人更喜欢如果有人纠正我,如果我实施了一个错误的做法。我总是正确的练习,而不是解决他/她的问题。谢谢。如果您向我展示更好的解决方案,我将不胜感激。谢谢 –