2012-09-21 94 views
0

我正在使用此代碼來初始化數據表,並且在刪除鏈接被單擊後 - 一切工作正常,但Iam使用刷新頁面,所以我試圖直接用DataTable函數刪除行,但不能得到它在所有的工作....這是當前代碼(即工作的人,但刷新整個頁面):DataTables刪除一行而不刷新頁面

<script type="text/javascript"> 
$(document).ready(function() { 
    $('#publishers').dataTable({ 
     "iDisplayLength": 50, 
    "sPaginationType": "full_numbers", 
    "bStateSave": true 
}); 
}); 

function DeletePublisher(publisherid) { 
jConfirm('Are you sure you want to delete this publisher?', 'Delete publisher', function(r) { if (r) 
$.ajax({ 
    type: "GET", 
    url: 'includes/publishers/delete-publisher.php?publisherid=' + publisherid, 
    data: '', 
    success: function(response){ 
    $.jGrowl('Publisher deleted'); 
    window.location.reload(); 
    } 
}); 
}); 
} 
</script> 

,並在身體...

  ...A LOT OF UNINTERESTING COLUMNS, AND THE ONE WITH ACTION: 
<td class="action-th"> 
      <ul class="button-table-head"> 
         <li><div class="button-head edit-icon"><a href="#" class="sweet-tooltip" data-text-tooltip="Edit" data-style-tooltip="tooltip-mini-slick"><span>Edit</span></a></div></li> 
         <li><div class="button-head delete-icon"><a href="#" class="sweet-tooltip" data-text-tooltip="Delete" data-style-tooltip="tooltip-mini-slick" onclick="DeletePublisher('<?php echo $publisher_id; ?>')"><span>Delete</span></a></div></li> 
        </ul> 
       </td> 

我試着用這代碼,但它不起作用:

function DeletePublisher(publisherid) { 
jConfirm('Are you sure you want to delete this publisher?', 'Delete publisher',function(r) { if (r) 
$('#publishers tbody').on('click', 'tr', function() { 
    var tr = this; 
$.ajax({ 
    type: "POST", //or GET 
    url: 'includes/publishers/delete-publisher.php?publisherid=' + publisherid, 
    data: '', 
    success: function(response){ 
    t.fnDeleteRow(tr); 
    $.jGrowl('Publisher deleted'); 
} 
}); 
}); 
}); 
} 

爲什麼 - 我完全以小白給JS,JQuery的任何想法....

回答

3

如果傳遞到點擊的元素的引用,你可以很容易地做到這一點:在

onclick="DeletePublisher(this,'<?php echo $publisher_id; ?>')" 

然後你功能:

function DeletePublisher(element,publisherid) { 
... 
success: function(response){ 
    $(element).parents('tr').remove() 
    $.jGrowl('Publisher deleted'); 

    } 
... 
} 

...然後完全不

+0

是叫window.location.reload();,我fugured出來...它的工作如預期和BEYOND;)感謝! ...我會接受4分鐘的回答(需要等待,因爲你超快) – Peter