如何将ng-model添加到动态创建的输入文本字段中
这是我的angularjs代码,用于动态创建输入文本字段。
“ng-click =”addValues($ event)“”有助于将这些值添加到我已经完成的mongodb数据库中。
用于制作这些字段的JavaScript代码是:
$(document).ready(function(e){ $('#submit').click(function(){ var inputIndex = $('#in_num').val(); for( var i=0; i<inputIndex; i++) { $('#dynamicInput').append(''); } }); });
单击“添加到数据库”按钮时,仅第一个和第二个文本字段的值将添加到数据库中,但不会添加从动态创建的文本字段中添加的值。 有什么办法吗?
问题是当您使用jQuery添加它们时,动态添加的输入字段没有click事件。 添加ng-click
是不够的。 你必须使用$compile
让angular解析这个元素。
然而,更聪明的方法是根本不使用jQuery,并使用ng-repeat
通过angular本身生成字段。
angular .module('app', []) .controller('dynamicFieldsController', dynamicFieldsController); dynamicFieldsController.$inject = ['$scope']; function dynamicFieldsController($scope){ var vm = this; vm.numOfFields = 0; vm.fields = []; vm.add = function() { for (var i = 0; i < vm.numOfFields; i++) { var index = vm.fields.length; vm.fields.push(index); } } }
input{ display: block; }
为什么不通过单击角度js中的按钮添加新文本框
http://www.shanidkv.com/blog/angularjs-adding-form-fields-dynamically