티스토리 뷰

728x90
반응형

 let table = $('#statusTable').dataTable({

            pageLength: 10,

            bPaginate: true,

            info:false,

            pagingType:"numbers",

            bLengthChange: true,

            lengthMenu : [ [ 3, 5, 10, -1 ], [ 3, 5, 10, "All" ] ],

            bAutoWidth: false,

            processing: true,

            ordering: true,

            serverSide: false,

            searching: false,

            scrollY: false,

            ajax : {

                "url": contextPath + "/empInfoManage/search",

                "type":"POST",

                data: {

                compName: compNames,

                workStatus: workStatuss,

                kwd: kwds

                },

                

            },

            columns : [

                {data: "compName"},

                {data: "deptName"},

                {data: "position"},

                {data: "duty"},

                {data: "empName"},

                {data: "workStatus"},

                {data: "useYn"},

                {data: "license"},

                {data: "emailAddr"}

            ],

// 컬럼에 옵션 부여

            columnDefs: [{

            targets: [8], // 8번째 emailAddr

            searchable: false, // 검색이 되지않게하고

      visible: false // 보이지않게한다

            }]


        });  

 table.on( 'draw.dt', () => {

   /* table.columns([8]).visible(false); */

   let $tr = $(".table tbody tr");

   

$tr.each( (index, item) => {

    item.addEventListener('click', event => {

   

    $tr.each( (index, item) => {

    if( item.style.backgroundColor != '' ) {

item.removeAttribute("style");

    }

    });

   

    // 클릭한 사원에 대한 정보

    let info = table.api().row($(event.currentTarget)).data();

   

    $("#hiddenEmailAddr").val( info.emailAddr);

$("#hiddenCompName").val( info.compName);

$("#hiddenDeptName").val( info.deptName);

$("#hiddenPosition").val( info.position);

$("#hiddenDuty").val( info.duty);


    $(event.currentTarget).css('background-color', 'black');

    let splitEmpName = $(event.currentTarget).children()[4].innerHTML.split('(');

    let name = splitEmpName[0];

    let id = splitEmpName[1];

    $("#hiddenLoginId").val( id.slice(0, id.length - 1) );

    $("#hiddenEmpName").val( name );

    })

});

})

table.api().row($(event.currentTarget)).data()

dataTable을 그린후 row를 클릭하면 클릭한 data를 가져옴

보이지않는 컬럼의 데이터도 가져올수있다

table.row()는 찾을수없다는 에러 발생

728x90
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함