1

このコードを使用してデータテーブルを初期化し、[削除]リンクをクリックした後-すべてが正常に機能しますが、ページの更新を使用しているため、DataTable関数を使用して行を直接削除しようとしましたが、まったく機能しません...。現在のコード(機能するがページ全体を更新するコード)は次のとおりです。

<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にまったく慣れていません...。

4

1 に答える 1

5

クリックされた要素への参照を渡すと、これを簡単に行うことができます。

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

次に、あなたの関数で:

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

  }
 ...
}

...それではまったく電話 window.location.reload();しないでください

于 2012-09-21T17:05:51.907 に答える