如何获取当前所选的td的id并传给服务器

tpl;

<table class="table table-hover" >
    <thead>
    <tr>
        <td ng-repeat = "item in $ctrl.items.title">{{item.text}}</td><td></td>
    </tr>
    </thead>
    <tbody>
    <tr ng-repeat = "detail in $ctrl.items.details ">
        <td ng-repeat = "item in $ctrl.items.title">{{detail[item.name]}}</td>
        <td>
            <button
            class="btn btn-xs btn-danger"
            ng-if="$ctrl.edit"
            ng-click = "$ctrl.del({details:$ctrl.items.details,detail:detail})">
                删除
            </button>
        </td>
    </tr>
    </tbody>
</table>

controller

(function () {
    'use strict';

    angular
        .module('practiceBodyContentList')
        .controller('practiceBodyContentListCtrl', practiceBodyContentListCtrl)
        .factory('practiceBodyContentListService', practiceBodyContentListService);

    practiceBodyContentListCtrl.$inject = ['$scope','$log','$http' ,'PRACTICE_API','practiceBodyContentListService'];
    practiceBodyContentListService.$inject = ['$http', 'PRACTICE_API'];
    /* @ngInject */
    function practiceBodyContentListCtrl($scope,$log, $http, PRACTICE_API, practiceBodyContentListService) {
        var ctrl = this;
        var data = {};
        var pageSize = 1;
        $scope.pageChanged = function() {
            $log.log('Page changed to: ' + $scope.currentPage);
            var page = $scope.currentPage;
            get(page,pageSize);
        };
        $scope.edit = true;
        $scope.deleteItem = function(details,detail){
            details.splice(detail,1);
            // practiceBodyContentListService.delPracticeLists(detail[1].practiceId);
        }
        $scope.maxSize = 3;
        $scope.currentPage=1;
        var page = $scope.currentPage;
        function get(page,pageSize) {
            practiceBodyContentListService.getPracticeLists(page,pageSize).success(function (response) {
                $scope.practiceLists = response.data;
                // $scope.lists = response.data.list[0];
                var detail = [];
                for(var i = 0;i<response.data.list.length;i++){
                    detail[i] = {id:i,practiceId:response.data.list[i].practiceId,title:response.data.list[i].title,
                        practiceDate:response.data.list[i].practiceDate,
                        loc:response.data.list[i].loc,
                        organizerName:response.data.list[i].organizerName,
                    };
                    $scope.items = {
                        title:[
                            {name:"title",text:"活动主题"},
                            {name:"practiceDate",text:"时间"},
                            {name:"loc",text:"地点"},
                            {name:"organizerName",text:"组织者"},
                        ],
                        details:detail,
                    };
                }
            })
        }
        get(page,pageSize);
    }
    function practiceBodyContentListService($http, PRACTICE_API){
        return {
            getPracticeLists: function(page,pageSize){
                return $http.post(PRACTICE_API.practiceList,{page:page,pageSize:pageSize})
            },
            delPracticeLists: function (practiceId) {
                return $http.post(PRACTICE_API.practiceDel,{practiceID:practiceID})
            }
        }
    }
})();

通过ng-repeat制作了一个表格,我想要通过点击删除按钮来删除其中某一条信息,需要给服务器传practiceId,我该怎么获取到这个practiceId呀?

阅读 2.9k
1 个回答

直接在ngClick的绑定函数中传入就可以啊。。
我是想问为什么要个变量ctrl前面加个'$'符号啊,看着老让我觉得这是个要注入的服务。而且你conroller里面还没这个$ctrl。 看晕了。。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题