ここに初めて投稿しますが、本当に助けが必要です。この小さなプロジェクトにしばらく取り組んでいて、Datatables が役に立たないことがわかりましたが、それを使用する必要があると言われました....とにかく、SQL サーバーへの ajax 呼び出しからテーブルを表示するようになりました。ユーザーがいくつかの行を選択して削除ボタンをクリックできるようにする必要があります。次に、選択された各行から ID を取得し、ajax 呼び出しを介してサーバーに返す必要があります。サーバーは値を削除します。
私は約5つの差分行選択方法を試しましたが、数え切れないほど多くの削除を試みましたが、何も機能していません。過去数週間にわたってサポートサイトで何度か助けを求めましたが、返信が1つもなかったので、ここの人々がもっと助けてくれることを願っています:)
とにかく、私のコードは次のとおりです。JSFIDDLE UPDATED TO CURRENT
$(document).ready(function(){
var oTable = $('#dataTable').dataTable({
//"bServerSide": true,
"bProcessing": true,
"bJQueryUI": true,
"bPaginate": true,
"sPaginationType": "full_numbers",
"iDisplayLength": 10,
"aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]],
"sDom": 'pT<><f>rt<il>',
"sAjaxSource": 'dataTable/getCmsGroupData',
"aoColumns": [
{ "mData": "id", "sTitle": "ID",
"fnRender": function (oObj) {
return '<a href="cmsgroup_update?id='+ oObj.aData["id"] + '">' + oObj.aData["id"] + '</a>';
}},
{ "mData": "version", "sTitle":"Version" },
{ "mData": "name", "sTitle": "Name" },
{ "mData": "description", "sTitle": "Description"},
{ "mData": "notes", "sTitle": "Notes"},
],
"oTableTools": {
"aButtons": [
"select_all",
"select_none",
{
"sExtends": "text",
"sButtonText": "Create New Entry",
"fnClick": function ( nButton, oConfig, oFlash ) {
window.location = "cmsgroup_add";
}
}]
}
});
$("#dataTable tbody").click(function(event) {
$(oTable.fnSettings().aoData).each(function (){
$(this.nTr).removeClass('row_selected');
});
$(event.target.parentNode).addClass('row_selected');
});
function fnGetSelected( oTableLocal )
{
var aReturn = new Array();
var aTrs = oTableLocal.fnGetNodes();
for ( var i=0 ; i<aTrs.length ; i++ )
{
if ( $(aTrs[i]).hasClass('row_selected') )
{
aReturn.push( aTrs[i] );
}
}
return aReturn;
}
$("#delete").click(function(){
selected = fnGetSelected(oTable);
oTable.fnDeleteRow( selected[0]);
$.ajax({
type: "POST",
url: "dataTable/delete/cmsGroup",
data: 'tableData='+ $(selected).text(),
success: function(result) {
alert("worked!");
}
});
});
} );
どんな助けでも素晴らしいでしょう!!!