我想知道是否有可能将搜索功能从input
中移出,用于DataTables
修改的表。目前我有一个自定义输入来执行这个函数:
<script>
$(document).ready(function() {
var oTable = $('#staffTable').DataTable();
$('#searchNameField').keyup(function () {
oTable.search($(this).val()).draw();
});
})
</script>
字符串
输入看起来像这样:
<label for="searchNameField" class="col col-form-label">Name:</label>
<div class="col-sm-11">
<input type="text" class="form-control ml-0 pl-2" id="searchNameField"
placeholder="Name" autofocus/>
</div>
型
我想做的是把这个移到一个按钮上。我认为可能的情况如下:
<script>
$(document).ready(function() {
var oTable = $('#staffTable').DataTable();
$('#searchButton').click(function () {
oTable.search($(this).val()).draw();
});
})
</script>
型
按钮看起来像这样:
<button id="searchButton" type="button" class="btn btn-sm btn-success" style="width: 150px">
<i class="fa fa-search">
Search
</i>
</button>
型
然而,当我点击按钮时,这不起作用。在输入这个问题时,我意识到这可能是因为当我单击按钮时,它不知道从哪里获取过滤器文本以实际过滤表。
有没有一种方法,我可以有一个按钮点击,引用输入,然后去过滤表?
2条答案
按热度按时间vsikbqxv1#
你是对的,你需要重新定义
$(this)
,它现在指的是按钮,而不是搜索框:字符串
daupos2t2#
这对我很有效
字符串