Jquery Datatables在按钮单击时将行数据作为字符串或对象获取

时间:2017-02-16 19:56:12

标签: javascript 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);
    })
  },

});

感谢任何形式的帮助。谢谢你提前。

1 个答案:

答案 0 :(得分:0)

要查找整行的数据对象:

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

为特定单元格找到它:

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