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
.