私はPhoenix Webアプリケーションで作業していますが、検索を指し示すナビゲーションバーにあるグローバル検索ボックスを実装する方法を見つけようとしていますDataTablesで構築された/users
にあるテーブル今のように、検索バーで検索を送信すると/users
にリダイレクトされますが、検索はテーブルに適用されません。Phoenix - DataTableを使用したサイト全体の検索機能
app.html.eex(レイアウト):
<form id="custom-search-input" class="nav navbar-nav pull-right" action="/users">
<div class="input-group">
<input id="ee-search" type="text" name="search" class="form-control" placeholder="Employee Search" />
<span class="input-group-btn">
<button class="btn btn-info">
<i class="fa fa-search"></i>
</button>
</span>
</div>
</form>
app.js:
$(document).ready(function() {
$('#employeeTable').DataTable();
});
var table = $('#employeeTable').DataTable({
"lengthMenu": [ [15, 50, 75, 150, -1], [15, 50, 75, 150, "All"] ]
});
私はapp.jsに配置されたDataTableのAPIでこれを見つけた:
$('#ee-search').on('keyup', function() {
table.search(this.value).draw();
});
私は前もってお詫びします...私のjavascriptのスキルは事実上存在しません。検索入力をDataTableに適用するにはどうすればよいですか?私は、フォーム提出/ JavaScriptコード/ DataTableをリンクする方法があると仮定しますか?さらに詳しい情報やコードが必要な場合は、私にお知らせください。ありがとう!
あなたの 'key'ハンドラがどこにそれを見ることができるのかを定義しておけば、' table'変数を参照できるはずです。 table.search行にブレークポイントを設定し、テーブルを評価して未定義であるかどうかを確認することができます。私の経験上、javascriptを学ぶことは、部分的には構文を調べることと、実際には何があるかを見るためにDOMオブジェクトを歩き回ることの問題です。 – BobRodes
私はあなたの質問を明確に最後の投稿を理解していない可能性があります。ユーザーがフィルタ処理した結果を表示するテーブルとは別のページに入力する検索ボックスですか? – BobRodes
@BobRodesはい検索ボックスはどこからでもアクセスできる静的なナビゲーションバーにあります。 '/ users'ページは基本的に従業員のディレクトリです。サイトのどこからでもアクセスできるようにしようとしています。 – jsonkenl