2016-11-01 4 views
5

のセルにdata()を読み込もうとしていますが、その中にボタンがあります。定義されていない(...)のプロパティ '_aData'を読み取ることができません - データテーブル

これは私のDatatable定義です:ここでは

var table = $("#example").DataTable(); 
     $('#example tbody').on('click', 'button', function() { 
      var subjectID = $(this).attr('id'); 
      var thisData = table.row($(this).parents('tr')).data(); 
      var userID = thisData[7]; 
      sendCallRequest(subjectID, userID); 
     }); 

は私が取得していますエラーです:

私はデータをフェッチしようとしているところ

$("#example").DataTable({ 
       destroy: true, 
       "columnDefs": [{ 
        orderable: false, 
        targets: 0 
       }], 
       "columns": [ 
        { 
         "data": "slno", 
         "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { 
          $(nTd).html('<a href="AddNewTicket.aspx?subjectID=' + oData.subjectID + '&subject_id=' + oData.subject_id + '&serviceID=' + oData.crm_services_id + '&severityID=' + oData.severityID + '&statusID=' + oData.statusID + '&callerID=' + '66355356' + '">' + oData.slno + '</a>'); 
         }, 
        }, 
        { "data": "status_message" }, 
        { "data": "crm_services_id" }, 
        { "data": "subject_id" }, 
        { "data": "severity_id" }, 
        {"data": "user_id" }, 
        { "data": "status_id" }, 
        { 
         "data": "caller_number", 
         "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { 
          $(nTd).html('<button class="btn btn-primary" id= "' + oData.subjectID + '">Call Customer</button>'); 
         }, 
        } 
       ], 
       select: { 
        style: 'os', 
        selector: 'td:first-child' 
       }, 
       "data": response, 
       "sDom": '<"top">tip' 
      }); 

そしてここにはあります

は未定義のプロパティ '_aData'(...)

0を読み取ることができません。

お願いします。あなたがそれらを再割り当てする前に

+0

こんにちは、これを解決しましたか? – NineCattoRules

答えて

4

は、あなたのボタンのイベントのバインドを解除してみてください。

var table = $("#example").DataTable(); 

    $('#example tbody').off('click'); 

    $('#example tbody').on('click', 'button', function() { 
     var subjectID = $(this).attr('id'); 
     var thisData = table.row($(this).parents('tr')).data(); 
     var userID = thisData[7]; 
     sendCallRequest(subjectID, userID); 
    }); 

は、なぜ私はこのことを示唆しています:私は、DataTableのはrowReorderイベントを呼び出すことができない、かなり類似した問題を、持っています。私はまた、AJAX /動的にテーブルを作成します(これはあなたも同様です)、明らかに私のイベントリスナー(私の場合はtable.on( 'row-reorder'))は複数回バインドされていました。最初にイベントリスナーを削除して読み込んだら、ついにこれを動作させました。

関連する問題