データ テーブルの処理には Jquery の DataTable を使用すると非常に便利です。よくある問題は、行を削除した後にページを更新する必要があることです。注意する必要があるメソッドは次のとおりです。 フロント ページでテーブルを初期化するとき。
var table = $( '#sorting-advanced');
table.dataTable({
'bServerSide': true,
'sAjaxSource': 'servlet/UserList<%=queryString%>',
'bProcessing ': true, 'bStateSave': true,
'aoColumnDefs': [
{ 'bSortable': false, 'aTargets': [0,1,6]}
],
'sPaginationType ': 'full_numbers',
'sDom': '<" dataTables_header"lfr>t<"dataTables_footer"ip>',
'fnInitComplete': function( oSettings )
{
//スタイルの長さの選択
table.closest('.dataTables_wrapper').find ('.dataTables_length select').addClass('select blue-gradient Glossy').styleSelect();
tableStyled = true; }
});
' bStateSave': true、これは削除時と戻るときに同じページに残るように設定する必要があります。
削除されたコードは次のとおりです
: function deleteconfirm( deleteID)
{
$.modal.confirm('本当にこれを削除しますか? user?', function()
{
$.ajax('servlet/DeleteUser', {
dataType : 'json',
data: {
userID: deleteID
} ,
成功: function(data)
{
if (data.success =='true')
{
$.modal.alert('削除に成功しました!'); >start = $("#sorting-advanced").dataTable().fnSettings()._iDisplayStart;
合計 = $("#sorting-advanced").dataTable().fnSettings().fnRecordsDisplay();
window.location.reload();
if((total-start)==1){
if (start > 0) {
$("#sorting-advanced"). dataTable().fnPageChange( 'previous', true );
}
}
}
else
{
$.modal.alert('削除エラーが発生しました。管理者!');
}
},
error: function()
{
$.modal.alert('サーバーが応答していません。管理者に連絡してください!');
}
});
}, function()
//$ .modal.alert('まあ。'); >};
現在のページにデータがあるかどうかを判断する必要がある限り、それが最後のページである場合は、
$("#sorting-advanced") を呼び出すだけです。 dataTable().fnPageChange( 'previous', true ); 削除直後は前のページに戻りました。
$("#sorting-advanced" ).dataTable().fnPageChange( 'previous');更新しないと、ページに表示される iDisplayStart が削除前に Cookie または iDisplayStart から取得されます。