2016-11-22 37 views
0

我使用Node.js和Angular中的ng-repeat从数据库构建动态生成的表单。所有文本框都复制在任何一个文本框中输入的文本。所以,如果我在一个文本框中键入“xyz”,它们全都具有“xyz”。但是,如果我提交结果,它只会更新一个表单参考。Node.js生成的文本框同时填充

这是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); 
    }); 

很显然,我需要禁用此。我尝试在表单中添加一个名称=或ID = {{todo.country_code}},以使其具有唯一性,但这不起作用。为什么所有人都像是同一个文本框?我是Node.js的新手,对我的HTML非常生疏,但是我找不到任何有关这种现象的参考。也许这太基本了,没有人犯这个错误? %)

+0

ng模型对于所有文本框都是一样的 - 尝试将其更改为“todo.text” –

+0

太棒了!这工作! – jurban1997

回答

0

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