2016-05-30 13 views
2

Datatables経由でカスタム検索パラメータでリンクを送ることができる方法を見つけるためにかなり探しましたが、何も見つかりませんでした。私はマルチフィルター - https://datatables.net/examples/api/multi_filter.htmlを使用しています。DatatablesはURL内の検索パラメータを渡すので、私はリンクをメールすることができます

私が望むのは、ユーザーが特定のファーストネームを検索した場合、そのユーザーが探していた特定の結果セットへのリンクを電子メールで送信できるようにするためです。

You can see in the image below an example.

答えて

0

だから何あなたが欲しいのは、ユーザーがすべての検索フィルタと電子メールをコピーすることができます。 このアプローチはどうですか? -

  1. URLを構築するためのJS。すべての検索ボックスのonblurで呼び出します。
  2. 構築されたURL
  3. (読み取り専用であるか、または隠された可能)テキストボックスに更新し続けることになる与えるユーザーボタン「コピー検索パラメータ」クリップボード
  4. ユーザーにURLテキストボックスの内容をコピーするためのURLをコピー&ペーストしてメールすることができます。

このようにして、実際の現在のURLを取り消すことはありません。

thisをクリップボードにコピーすることを参照してください。

1

私はそれはあなたのユースケースでは動作しませんでしたとしてkeepConditionsを使用してについての私の以前の提案を削除した(私がテストした)、それは私が考えるようになったと私はこれを作ってみた:基本的に

$('#example tfoot th').each(function(k, v){ 
    var title = $(this).text(); 
    $(this).html('<input type="text" data-position="'+k+'" placeholder="Search ' + title + '" />'); 
});  
var example = $("#example").DataTable(); 
example.columns().every(function(){ 
    var that = this; 
    $('input', this.footer()).on('keyup change', function(){ 
     var hash = []; 
     $('#example tfoot th').each(function(k, v){ 
      if(~~$(v).find("input").val().length){ 
       hash.push($(v).find("input").data("position") + "=" + encodeURIComponent($(v).find("input").val())); 
      } 
     }); 
     window.location.hash = hash.join("&"); 
     if(that.search() !== this.value){ 
      that.search(this.value).draw(); 
     } 
    }); 
}); 
if(window.location.hash) { 
    var hash = window.location.hash.substring(1).split("&"); 
    $.each(hash, function(k, v){ 
     $("#example tfoot th input:eq("+v.split("=")[0]+")").val(decodeURIComponent(v.split("=")[1])).trigger("change"); 
    }); 
} 

検索タームが入力されるたびに、すべての入力を繰り返して、結果とともにURLハッシュを更新します。ハッシュがあるかどうかを確認し、その逆を実行します。これは動作しますexampleです。

希望に役立ちます。

+0

あなたのリンク例は動作しません。 – Mike

+0

こんにちは@Mike、リンクが訂正されましたが、失敗するのは悪い:-( – annoyingmouse

+0

このDataTableはどのように初期化されていますか?フッターの列フィルタを使用していますが、初期化した場所はわかりません? – Mike

関連する問題