如何选择数据表中的行jquery数据表

问题描述

我使用下面的代码 1 来填充我的数据表。但是,当我尝试使用代码 2 访问我的数据表时,我没有收到此响应:alert( customerTable.row( this ).data() );

在这里做错了什么?

代码 1

$(searchClientBtn).on("click",function () {
 
            var clientLastName = $(clientLastNameTxt).val();
            var clientFirstName = $(clientFirstNameTxt).val();
            var clientMiddleName = $(clientMiddleNameTxt).val();
            var clientDateOfBirth = $(clientDateOfBirthTxt).val();
 
            if ( clientLastName.length == 0 && clientFirstName.length == 0 && clientMiddleName.length == 0 ) {
                alert("Please enter search parameter/s to proceed.");
            }
            else {
                var formData = new FormData();
                formData.append("firstName",$("#clientFirstNameTxt").val());
                formData.append("middleName",$("#clientMiddleNameTxt").val());
                formData.append("lastName",$("#clientLastNameTxt").val());
                formData.append("dateOfBirth",$("#clientDateOfBirthTxt").val());
 
                //console.log(formData);
                var booking = new booking();
 
                booking.getListCustomer(formData,{
                    onSuccess: function (xdata) {
 
                       var customerTable = $("#customerTable").DataTable({
                           data: xdata.result,processing: true,columns: [
 
                            { 'data': 'FirstName' },{ 'data': 'MiddleName' },{ 'data': 'LastName' },{ 'data': 'Birthdate' }
                           ]
 
                    });
                    },onError: function (xdata) {
                        alert("An error occured");
                    }
                });
 
 
                $(clientSearchModal).modal("show");
 
            }
        });

代码 2

$("#customerTable").on("click","tbody tr",function () {
           alert("imclicked");
            alert( customerTable.row( this ).data() );
 
        });

解决方法

需要定义变量。

$("#customerTable").on("click","tbody tr",function () {
           var customerTable = $('#customerTable').DataTable(); //Here need to define variable
           alert("imclicked");
           alert( customerTable.row( this ).data() );
 
   });