Node.js生成的文本框同时填充

时间:2016-11-22 08:53:47

标签: javascript html angularjs node.js textbox

我在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非常生疏,但我找不到任何关于这种现象的参考。也许没有人犯这个错误太基本了? %)

1 个答案:

答案 0 :(得分:0)

安迪F解决了这个问题。只需将ng-model =“formdata.txt”替换为ng-model =“todo.txt”即可。现在,没有任何文本框复制任何其他文本框中输入的内容。