【问题标题】:ng-model won't update the changed form contentng-model 不会更新更改的表单内容
【发布时间】:2016-05-08 06:30:38
【问题描述】:

我有一个表单,它有一个删除条目按钮和一个添加条目按钮。我想将更新后的表单字段数据输出到formData={},这样提交的数据就会是最新的。但是,当一个字段集被删除时,formData={} 不会更新为最新的数据条目信息,并且旧的表单数据仍然存在于formData={} 中。 Here's the link for my code

【问题讨论】:

  • 对不起,我已经更新了 Codepen 中的内容,所以当我提问时,链接不会是原始链接。

标签: angularjs angular-ngmodel angularjs-ng-model


【解决方案1】:

像这样试试。

var app = angular.module("app",[]);

app.controller("MyCtrl" , function(){
  var formCtrl = this;
   formCtrl.forms ={
       formData:[{ name:""}]
   };
  
  formCtrl.addFields = function(){
    var name = {name:""};
     formCtrl.forms.formData.splice(formCtrl.forms.formData.length,0,name);
        
    };
  
  formCtrl.rmFields = function(form){
    var index  = formCtrl.forms.formData.indexOf(form);
       formCtrl.forms.formData.splice(index,1);
    }
  
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="MyCtrl as formCtrl">
   <table>
     <tr ng-repeat="form in formCtrl.forms.formData">
        <td> <input type="text" ng-model="form.name"></td>
        <td> <input type="button" ng-click="formCtrl.addFields()" value="Add" ng-show="$last"></td>
        <td> <input type="button" ng-click="formCtrl.rmFields(form)" value="Delete" ng-show="$index != 0"></td>
     </tr>
   </table> 
    <span>  <pre>{{formCtrl.forms | json }}</pre></span>
</div>

【讨论】:

    猜你喜欢
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    相关资源
    最近更新 更多