2017-02-16 5 views
-1

Я пытаюсь получить строку данных на основе события нажатия кнопки. Я могу найти строку и прочитать результаты как текст, но я хочу, чтобы данные были переданы в виде строки или объекта. Ниже мой текущий код:JQuery Datatables получает данные строки в виде строки или объекта при нажатии кнопки

$.ajax({ 
    url: "SympsService.asmx/GetSymptoms", 
    method: "post", 
    dataType: "json", 
    data: JSON.stringify({ 
    organ_name: "toes" 
    }), 
    contentType: "application/json", 
    success: function(data) { 
    var sympList = 'GetSymptoms' ? JSON.parse(data.d) : data.d; 
    createDataTable('#symptomsTable', sympList); 

    function createDataTable(target, data) { 

     $(target).DataTable({ 
     destroy: true, 
     paging: false, 
     searching: false, 
     info: false, 
     data: data, 
     columnDefs: [{ 
      targets: [-1], 
      render: function() { 
      return "<button type='button'>" + ('Choose') + "</button>" 
      } 
     }], 
     columns: [{ 
      'data': 'Sympt', 
      'title': 'toes Symptoms' 
     }, { 
      'data': null, 
      'title': 'Action' 
     }] 
     }); 
    } 

    $('#symptomsTable').on("click", "tbody button", function() { 
     var id = $(this).closest("tr").find("td:nth-child(1)").text(); //this show perfectly 
     var id = $(this).closest("tr").find("td:nth-child(1)").data(); //this show undefined 
     var id = $(this).closest("tr").find("td:nth-child(1)").toString(); //this show {object Object} 
     console.log(id); 
    }) 
    }, 

}); 

Любая помощь приветствуется. Заранее спасибо.

ответ

0

Чтобы найти объект данных для всей строки:

$("#symptomsTable').DataTable().rows($(this).closest("tr")).data() 

найти его для конкретной клетки:

$("#symptomsTable").DataTable().cells($(this).closest("td").siblings().eq(0)).data() 
+0

Я пытался, но он показывает неперехваченный TypeError: $ (...). Строки dataTable (...) не являются функцией. и для конкретной ячейки: [context: Array [1], селектор: Object, ajax: Object] @Bindrid –

+0

Измените свою таблицу данных на DataTable. Я получаю и ошибку на маленьком d слишком – Bindrid

+0

Я изменяю that.but теперь показывают это: [context: Array [1], селектор: Object, ajax: Object] для обоих. –

Смежные вопросы