javascript - 在 ng-repeat 模式下编辑和保存数据 - AngularJS

标签 javascript forms angularjs

我正在使用 AngularJS 编辑/保存数据。下面是我想要实现的目标的非常基本的代码示例。

<强> JS BIN URL

在我使用下面的代码“重复器”选择器之前,编辑和保存数据功能工作正常。

 ng-repeat="var in [1,2,3]"

如果您发现在“ng-repeat”情况下,所有文本区域元素的行为都不相同。如何在单击“编辑/保存”按钮时定位选定的文本区域。

ANGULARJS 代码

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

app.controller('myctrl', ['$scope', function ($scope) {

  $scope.editEnabled= false;
  $scope.dummydata= "This is dummy data";

  $scope.editData=function(){
    $scope.editEnabled = true;
    $scope.inputText = $scope.dummydata;
  };

  $scope.saveData=function(){
    $scope.editEnabled = false;
    $scope.dummydata = $scope.inputText;
  };

  $scope.disableEdit= function(){
    $scope.editEnabled = false;
  };

}]);

预先感谢您的帮助。

最佳答案

按照这些思路应该可以工作。 Controller 中的数据应该反射(reflect)您想要在 View 中显示的内容。

http://jsbin.com/beyunuze/7/edit

<body ng-controller="myctrl">
  <div class="repeater" ng-repeat="item in items ">
    <div class="btnCont">
       <span ng-hide="item.editEnabled">
           <button ng-click="editData(item)">Edit</button>
       </span>
       <span ng-show="item.editEnabled">
           <button ng-click="saveData(item)">Save</button>
      </span>
    </div>

    <div class="textArea">
      <div ng-hide="item.editEnabled" class="content">
        {{item.dummyData}}
      </div>
      <div ng-show="item.editEnabled">
        <textarea ng-model="item.dummyData" class="content contentInput" /></textarea>
      </div>
    </div>
  </div>
</body>

js:

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

    app.controller('myctrl', ['$scope', function ($scope) {
      $scope.items=[{dummyData:"foo"},{dummyData:"bar"},{dummyData:"baz"}];
      $scope.editEnabled= false;
      $scope.dummydata= "This is dummy data";

      $scope.editData=function(item){
        item.editEnabled = true;
      };

      $scope.saveData=function(item){
        item.editEnabled = false;
      };

      $scope.disableEdit= function(){
        $scope.editEnabled = false;
      };

    }]);

关于javascript - 在 ng-repeat 模式下编辑和保存数据 - AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23785321/

相关文章:

javascript - 突出显示 html 表格中具有选定值的行

javascript - FullCalendar - 是否可以更改/添加文本?

javascript - 无需提交即可获取表单网址

javascript - 使用 $http 获取 JSON 数据

javascript - 关于数据更改的 AngularJs 刷新指令

angularjs - asp.net web api 2 CORS和身份验证授权配置

javascript - 使用 jQuery 将文本框输入限制为给定的正则表达式

javascript - Jekyll 博客显示类别下的帖子

javascript - 表单自动提交无需刷新

php - 数据不会从 HTML 表单传递到数据库