При установке флажка всегда получать значение первой строки в предупреждении, используя угловой JS - PullRequest
0 голосов
/ 16 января 2019

У меня есть datatable со многими записями. И каждый ряд состоит из флажка. Здесь происходит то, что в любой строке я проверяю на предупреждение Я всегда получаю данные первого ряда таблицы данных.

Ниже мой код.

var app = angular.module('MyApp', ['datatables']);
app.controller('homeCtrl', ['$scope', '$http', 'DTOptionsBuilder', 'DTColumnBuilder',
    function ($scope, $http, DTOptionsBuilder, DTColumnBuilder) {
        $scope.dtColumns = [
            DTColumnBuilder.newColumn(null, '').renderWith(function (data, type, full) {
                return '<input type="checkbox" class="check" data-object-id="' + full.objectid + '">'
            }),
            DTColumnBuilder.newColumn("OBJECTID", "ID"),
            DTColumnBuilder.newColumn("SERVICE_CODE", "Service Code"),
            DTColumnBuilder.newColumn("COND1", "Condition 1"),
            DTColumnBuilder.newColumn("COND2", "Condition 2"),
            DTColumnBuilder.newColumn("COND3", "Condition 3"),
            DTColumnBuilder.newColumn("SERVICE_TYPE", "Service type"),
            DTColumnBuilder.newColumn("REMARK", "Remark"),
            DTColumnBuilder.newColumn("DESCRIPTION", "Description")
        ]
        $scope.dtOptions = DTOptionsBuilder.newOptions().withOption('ajax', {
            url: "/home/getdata",
            type: "POST"
        })
        .withPaginationType('full_numbers')
        .withDisplayLength(10);

        $scope.dtInstance = {};
        $scope.dtInstanceCallback = function (instance) {
            $scope.dtInstance = instance;
        }
        $scope.dtRebind = function () {
            $scope.dtInstance.DataTable.draw()
        }

        $('#entry-grid').on('click', '.check', function () {
            var row = $(this).closest("tr");
            var data = $scope.dtInstance.DataTable.row().data();
            var strStringifyData = JSON.stringify(data);

            alert(strStringifyData);  //here its coming

        })
    }])

Подскажите пожалуйста, как это реализовать

1 Ответ

0 голосов
/ 16 января 2019

Наконец я понял. Вы можете использовать узел в качестве селектора для строки. Так что в вашем конкретном случае

var selectedRow;
$('#entry-grid').on('click', '.check', function () {
                                if(selectedRow){
                    $(selectedRow).find('.check').prop('checked', false);                
                }

                            selectedRow = $(this).closest("tr")[0]
                var data = $scope.dtInstance.DataTable.row(selectedRow).data();
                var strStringifyData = JSON.stringify(data);

                alert(strStringifyData);  //here its coming

            })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...