使用數據表的過濾器框時,rowId保留在第一條記錄上,我不知道為什么。這是數據表(盡可能簡化):$.ajax({ url: 'process/getData.php', type: 'POST', data: data, dataType: 'html', success: function(data, textStatus, jqXHR){ var jsonObject = JSON.parse(data); var table = $('#example1').DataTable({ "data": jsonObject, "columns": [ { "data": "MONDAY", "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { $(nTd).html("<span class='checkMon'>+oData.MONDAY+</span>"); }, // columns for each work day } ], "paging": false, "scrollY": 730, "scrollX": true, "bDestroy": true, "stateSave": true, "autoWidth": true }); }, error: function(jqHHR, textStatus, errorThrown) { console.log('fail: '+ errorThrown); return false; }});在數據表之外,我有onclick事件處理程序:$('#example1').on('click', 'tr > td > .checkMon', function(e){ e.preventDefault(); var $dataTable = $('#example1').DataTable(); var tr = $(this).closest('tr'); var data = $dataTable.rows().data(); var rowData = data[tr.index()]; console.log(rowData.UID);});在過濾之前,當我單擊任何單元格時,控制臺會讀取正確的rowData.UID.問題是當我過濾并再次單擊單元格時,控制臺讀取第一行的rowData.UID.有誰知道為什么會發生這種情況以及如何解決它?
過濾后,rowData 保留在第一條記錄上
素胚勾勒不出你
2021-08-20 17:55:27