2017-12-08 8 views
0

DataTablesを使用してテーブルを実装しました。jQuery内のボタンPHPスクリプトを呼び出すDatatables?

Table

これはコードです:

$(document).ready(function() {  
    var table = $('#tbl_user').DataTable({ 
     "ajax": "data_user.php", 
     "bPaginate":true, 
     "bProcessing": true, 
     "pageLength": 10, 
     "columns": [ 
      { mData: 'name' } , 
      { mData: 'address' }, 
      { mData: 'city' }, 
      { mData: 'postalcode' }, 
      { mData: 'email' }, 
      { mData: 'supervisor' }, 
      { 
       mData: null,  
       "bSortable": false, 
       "mRender": function(data, type, full) { 
       return '<a class="btn btn-info btn-sm" href=update.php?' + 'name=foo' + '>' + 'Edit' + '</a>'; } 
      } 

     ], 
     "dom": 'Bfrtip', 
     "buttons": [ 
      'copy', 'csv', 'excel', 'pdf', 'print' 
     ] 
    }); 

}); 

1つの問題はしかし、あります。たとえば、ユーザー「123」の「編集」ボタンをクリックするとします。ボタンはパラメータとして "123"を含むPHPスクリプトupdate.phpを呼び出すことになっています。どうやってするか?私は試みた:

return '<a class="btn btn-info btn-sm" href=update.php?' + 'name='+mData:name + '>' + 'Edit' + '</a>'; } 

まあそれは動作しません。

+1

'MDATAを処理するための機能を追加します:示すように、このセクションでは、

更新NAME'は、そのコンテキストで有効な構文のように見えるしていません。あなたは 'data'変数をその関数で利用できます、その変数には何がありますか? – David

+0

うん、 'mData:name'は確かにコンソールにエラーを投げている。おそらく 'mData.name'が必要です – DelightedD0D

+0

@ DelightedD0D mdata.nameは機能しません。おそらくブロック内でnullと宣言されているからでしょうか? – anta40

答えて

0

あなたは達成したいことに非常に近いです。

マインドあなたは、PARAMで新しいページupdate.phpを開くには、JavaScriptのAjaxの

  • 使用により、二つの方法

    1. があります。

    どちらが該当するかによって異なりますが、2つのオプションは同じ原則に従います。 しかし、この例では、オプション2に固執するつもりです。オプション1もしたい場合は教えてください。

    return '<a class="btn btn-info btn-sm" onclick="'+callScript(123)+'">' + 'Edit' + '</a>'; } 
    

    次に、このonclickのイベント

    function callScript(id){ 
    
        var url ="update.php?id="+id; 
        window.open(url,"_self") 
    
        } 
    
  • +0

    私の場合、名前を取得したいと思います。どうやってするか? – anta40

    関連する問題