JQuery DataTable Cell из строки щелчка

Я пытаюсь реализовать функцию на jquery datatable, которая возвращает 1-й и 4-й столбцы щелкнутой строки

Я следую этому примеру, что позволяет мне манипулировать нажатой строкой http://datatables.net/examples/api/select_single_row.html

думая, что я могу изменить этот обработчик, чтобы выполнить процедуры считывания значений ячейки и использовать значение в моей собственной логике

/* Add a click handler to the rows - this could be used as a callback */
$("#example tbody").click(function(event) {
    $(oTable.fnSettings().aoData).each(function (){
        $(this.nTr).removeClass('row_selected');
    });
    $(event.target.parentNode).addClass('row_selected');
});

Я также пришел с этим небольшим сегментом кода из форума dataTable http://datatables.net/forums/comments.php?DiscussionID=1384&page=1#Item_0

$('#example tbody tr').click( function () {
    // Alert the contents of an element in a SPAN in the first TD
    alert( $('td:eq(0) span', this).html() );
} );

Могу ли я иметь какой-либо указатель, чтобы я мог получить 1-й и 4-й столбцы щелкнутого поля?

следующая часть Я решил выше, спасибо nick

однако у меня есть следующая часть проблемы. когда я запустил таблицу Я использую

/* Init the table */
    oTable = $('#filetable').dataTable( {
        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "/crvWeb/jsonFileList.do",
        "fnServerData": function ( sSource, aoData, fnCallback ) {
            $.ajax( {
                "dataType": 'json', 
                "type": "POST", 
                "url": sSource, 
                "data": aoData, 
                "success": fnCallback
            } );
        }
    } );

мой сервлет принимает параметр запроса dir и возвращает список в datatable как ответ json.

/crvWeb/jsonFileList.do

как я могу добавить и получить ответ serlvet с почтовым запросом, чтобы обновить таблицу?

Ответы

Ответ 1

Вы можете использовать .delegate() здесь:

$("#example tbody").delegate("tr", "click", function() {
  var firstCellText = $("td:first", this).text();
  var fourthCellText = $("td:eq(3)", this).text();
});

Здесь вы можете попробовать демо

С .delegate() this относится к <tr>, так как этот клик мы обрабатываем, делая вещи немного чище.. и это еще только один обработчик событий на уровне <tbody>, а не один за <tr>.

Ответ 2

Это должно сделать трюк, если я правильно читаю ваш код:

$("tr.row_selected td:nth-child(1), tr.row_selected td:nth-child(4)");

Он должен вернуть первый и четвертый дочерние элементы всех tr элементов с классом row_selected.