我在Node.js和Angular中使用ng-repeat从数据库构建动态生成的表单。所有文本框都复制在任何一个文本框中输入的文本。所以,如果我输入" xyz"在一个文本框中,所有人都有" xyz"。但是,如果我提交结果,它只会更新一个表单引用。
这是HTML:
<div class="container">
<div class="todo-form">
<form class="form-inline" ng-repeat="todo in todoData">
<li>
<h4>Country Code: {{ todo.country_code }} <input id="{{ todo.country_code }}" type="text" class="form-control input-sm" placeholder="{{ todo.country_name }}" ng-model="formData.text">
<button type="submit" class="btn btn-default" ng-click="updateTodo(todo.country_code)">Update</button></h4><br>
</li>
</form>
</div>
这是它引用的JS:
angular.module('editTodo', [])
.controller('editController', ($scope, $http) => {
$scope.formData = {};
$scope.todoData = {};
// Get Org Details
$http.get('ref_country_code_get')
.success((data) => {
$scope.todoData = data;
console.log(data);
})
.error((error) => {
console.log('Error: ' + error);
});
显然,我需要禁用它。我已尝试在表单中添加name =或ID = {{todo.country_code}}以使其唯一,但这并不起作用。为什么所有表现都像是同一个文本框?我是Node.js的新手,我的HTML非常生疏,但我找不到任何关于这种现象的参考。也许没有人犯这个错误太基本了? %)
答案 0 :(得分:0)
安迪F解决了这个问题。只需将ng-model =“formdata.txt”替换为ng-model =“todo.txt”即可。现在,没有任何文本框复制任何其他文本框中输入的内容。