【发布时间】:2016-11-22 08:53:47
【问题描述】:
我正在使用 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 非常生疏,但我找不到任何关于这种现象的参考。也许没有人犯这个错误太基本了? %)
【问题讨论】:
-
所有文本框的 ng-model 都是相同的 - 尝试将其更改为“todo.text”
-
太棒了!成功了!
标签: javascript html angularjs node.js textbox