我正在開發一個Phoenix網絡應用程序,並試圖找出一種方法來實現位於導航欄中的全局搜索框,該全局搜索框將指向並執行搜索在用DataTables構建的位於/users
的桌子上。就像我現在所做的那樣,當我通過搜索欄提交搜索時,它會重定向到/users
,但不會將搜索應用於表格。Phoenix - 使用數據表的站點範圍搜索功能
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"] ]
});
我發現這個在數據表API我已經放置在app.js:
$('#ee-search').on('keyup', function() {
table.search(this.value).draw();
});
我提前道歉......我的JavaScript技能實際上並不存在。如何獲得搜索輸入以應用於DataTable?我假設有一種方法來鏈接表單提交/ JavaScript代碼/數據表?如果您需要更多信息或代碼,請告訴我。謝謝!
如果你在'keyup'處理程序可以看到它的地方定義它,你應該能夠引用你的'table'變量。您可能希望在您的table.search行上放置一個斷點並評估表以查看它是否未定義。根據我的經驗,學習javascript在一定程度上是查找語法的一部分,部分是在DOM對象中漫步以查看真正存在的內容。 – BobRodes
也許我最後一個帖子沒有清楚地理解你的問題。用戶輸入的搜索框是否與顯示過濾結果的表不同? – BobRodes
@BobRodes yes搜索框位於靜態導航欄上,可以從任何地方訪問。 '/ users'頁面基本上是一個員工目錄,我試圖讓它可以從網站的任何地方訪問。 – jsonkenl