Ячейка JQuery DataTable от щелчка строки

Я пытаюсь реализовать функцию на таблице данных jQuery, которая возвращает 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');
});

я также приехал с этим небольшим сегментом кода от форума таблицы данных 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-й столбец нажатого поля?

следующей первой части решили вышеупомянутое, спасибо зарубка

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

/* 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 и возвращает список таблице данных как json ответ.

/crvWeb/jsonFileList.do

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

14
задан Gyrocode.com 18 October 2016 в 00:12
поделиться

2 ответа

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

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

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

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

26
ответ дан 1 December 2019 в 10:17
поделиться

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

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

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

0
ответ дан 1 December 2019 в 10:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: