如何以AngularJS方式制作双击可编辑表格?

Bob*_*Bob 9 html javascript jquery angularjs

没有DOM操作,如何双击制作可编辑的表格单元格?

我试图在那里http://jsfiddle.net/bobintornado/F7K63/35/

我的控制器代码如下

function myCtrl($scope) {

    $scope.items = [{
        name: "item #1",
        editing: 'readonly'
    }, {
        name: "item #2",
        editing: 'readonly'
    }, {
        name: "item #3",
        editing: 'readonly'
    }];

    $scope.editItem = function (item) {
        item.editing = '';
    };

    $scope.doneEditing = function () {
        //dong some background ajax calling for persistence...
    };
}
Run Code Online (Sandbox Code Playgroud)

但是我面临的问题是使输入元素只读并"提交"输入(在输入按下的事件时启动ajax调用以消耗一些Restful服务来更新后端服务器)

非常感谢有人能分享他们的智慧!

PS:我认为Parse.com中可编辑的数据浏览器表是我能得到的最好的演示,但我没有关于如何实现它的线索.

dav*_*ekr 22

我更新了小提琴.这是你想要的吗?

HTML

<tr ng-repeat="item in items">
    <td>
        <span ng-hide="item.editing" ng-dblclick="editItem(item)">{{item.name}}</span>
        <input ng-show="item.editing" ng-model="item.name" ng-blur="doneEditing(item)" autofocus />
    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

JS

$scope.items = [{name: "item #1", editing: false}, 
                {name: "item #2", editing: false}, 
                {name: "item #3", editing: false}];

$scope.editItem = function (item) {
    item.editing = true;
}

$scope.doneEditing = function (item) {
    item.editing = false;
    //dong some background ajax calling for persistence...
};
Run Code Online (Sandbox Code Playgroud)

但是,您应该创建一个包含可编辑行的指令.当你点击项目时,在那里实现自动对焦.