2017-01-11 7 views
2

DataTableを使用してテーブルをフォーマットします。私はまた、ボタンのプラグインを使用します。私はダウンロード用のExcelファイルを作成する別のページにリダイレクトするカスタムボタンを作成しようとしています。私はちょうどhrefを設定する方法がわかりません。私はこれを試しました:DataTablesボタンでhrefを設定する方法は?

$.fn.dataTable.ext.buttons.export = 
{ 
    className: 'buttons-alert', 
    text: "Export All Test III", 
    action: function (e, dt, node, config) 
    { 
     var SearchData = dt.rows({ filter: 'applied' }).data(); 
     var OrderData = dt.order(); 
     alert("Test Data for Searching: " + SearchData); 
     alert("Test Data for Ordering: " + OrderData); 
    }, 
    href: './AjaxHandler.php' 
}; 

hrefは無視され、設定されていません。私はhrefを設定する必要があります。

どうすればよいですか?

私はそれが財産を持っていますが、それはこのような#に設定されていることをFirefoxで開発ツールで見ることができます:

enter image description here

私は以来、設定しようとしているEDIT

$('.dt-button.buttons-alert').attr('href', './AjaxHandler.php'); 


document.querySelector('.buttons-alert').setAttribute('href', './AjaxHandler.php'); 

このような初期化後のhref seは動作しますが、hrefにはまだ#が表示されます。

答えて

2

私はそれをうまく動作させています。私はまだhrefをボタンに設定することができません。私ができることは次のとおりです:

$.fn.dataTable.ext.buttons.export = 
{ 
    className: 'buttons-alert', 
    id: 'ExportButton', 
    text: "Export All Test III", 
    action: function (e, dt, node, config) 
    { 
     //This will send the page to the location specified 
     window.location.href = './AjaxHandler.php'; 
    } 
}; 

これは別の方法でも同じことを達成します。

+0

私のために.. ありがとうバディ。 また、この方法でバグがあった場合はお知らせください。 – Swaps

+0

私は私のウェブサイトで働いているものを更新しました。これまでのところ問題はなかった。 – Mike

0

dataTablesのオプションに「href」はありません。 ボタンには、次のオプションしか使用できません。 https://datatables.net/reference/option/#buttons

+0

はい、私はそのページを見ました。もちろん、hrefがページにあるので、そこにアクセスして私が望むものにする方法があります。 – Mike

+0

ボタンを初期化した後に、jqueryで常にhrefリンクを動的に追加することができます。$( "dt-button.buttons-alert")。attr( "href"、 "./AjaxHandler.php") – NeuTronas

+0

この '$ ( 'dt-button.buttons-alert')。attr( 'href'、 './AjaxHandler.php'); 'それは何の違いもなく、' href'はまだ救命措置のハックだった# – Mike

0

ここで私はこの問題を解決しました。これにより、DataTable DOMに「レコードを追加」ボタンが表示されます

$('#myTable').DataTable({ 
    ..., 
    buttons: [ 
     { 
      text: '<i class="fa fa-plus"></i>', 
      className: 'btn btn-default btnAddJob', 
      titleAttr: 'Add a new record', 
      init: function (dt, node, config) { 
       $(node).attr('href', 'put/your/href/here') 
      } 
     } 
    ] 
}) 
関連する問題