chris
chris

Reputation: 36957

jQuery DataTables getting hidden column data

I have one table where I have 2 columns that get hidden by the dataTables api. From which when I delete a row from the table I need to pass the data in these columns via ajax so that it gets removed from the database as well..

I have been deleting my rows prior that didn't have data I need in them directly, without any issue. Now I need to change it up for this need and catch those values. Problem is no matter how I have tried to spin it one thing or another breaks.

delete_row = $(this).closest("tr").get(0);

This is what I used to catch the row I want to delete to pass it along when confirmation of deleting the row is made. And that works fine. Now I need to match the logic in creating two new vars that can be read if confirmation is made to pass through my ajax call.

Which I have tried:

var aPos  = throttleTable.fnGetPosition($('td:eq(0)', delete_row));
var aData = throttleTable.fnGetData(aPos[0]);

Along with a few different spins to catch the column I want to get the data from. The above breaks the script altogether. The thought came from

var aPos  = throttleTable.fnGetPosition(throttle_delete_row);
var aData = throttleTable.fnGetData(aPos[0]);

Which does work but only in returning every column in that row as a string. Which isn't desired. I would run a loop over it but that is problematic as a loop can be expensive, and also there is no distinct method of splitting the data up, as one of the values in one of the hidden columns is a CSV in it of itself. So the loop would be invalid for the need there as well if I split and delimited it by ,

So my ultimate question is, how can I break it down to get column specific?

Upvotes: 1

Views: 8070

Answers (2)

zhoulin
zhoulin

Reputation: 21

$(document).ready(function() {
  $('#example tbody td').click( function () {

  // Get the position of the current data from the node
  var aPos = oTable.fnGetPosition( this );

  // Get the data array for this row
  var aData = oTable.fnGetData( aPos[0] ); 
});

返回的都是数组,获取数组对应的下标就可以了!

Upvotes: 2

chris
chris

Reputation: 36957

Well, alright then. Apparently the problem was I was attempting to do to much when all I needed was the fnGetData() bit.

Turns out after playing around with whats actually going on and dumping it all into the console.log() I was able to sort out that all I truly needed to do was throttleTable.fnGetData(throttle_delete_row, 0) for sake of example, to get the hidden column(s) I seek.

Upvotes: 4

Related Questions