如何将多个搜索值传递给数据表中的 search.draw 函数?
Posted
技术标签:
【中文标题】如何将多个搜索值传递给数据表中的 search.draw 函数?【英文标题】:How to pass multiple search values to search.draw function in datatables? 【发布时间】:2016-12-13 08:23:19 【问题描述】:我的数据表中有多个搜索选项。以下代码适用于单一搜索。
<script>
$(document).ready(function()
var dataTable = $('#example').DataTable();
$('#filter').click(function(e)
dataTable.search($("#txtSearch").val()).draw(););
);
</script>
但我有多个搜索文本框/列表框。当用户单击搜索结果按钮时,表格应绘制相关的搜索结果。但是如何将多个搜索值传递给搜索功能?任何帮助将不胜感激。 多个文本框
<input type="text" class="form-control" id="3" style="width: 150px;">
<input type="text" class="form-control datepicker" id="12" style="width: 100px;" readonly="readonly">
<select id="13" class="form-control vcbot_search">
<option value="">ACKN Status</option>
<option value="yes">Yes</option>
<option value="no">No</option>
</select>
<input type="text" class="form-control" id = "0" placeholder = "General Search">
【问题讨论】:
你能提供一个多搜索文本框的例子吗?它究竟是如何工作的? (您搜索特定列?您搜索所有值?还是其中任何一个? 请提供一个工作示例。将 html+css+js 代码放入jsfiddle 或snippet 以显示问题。 jQuery('.vcbot_search').on( 'keyup change', function () var i =jQuery(this).attr('id'); // 获取列索引 var v = jQuery(this).val(); // 获取搜索输入值dataTable.columns(i).search(v).draw(); ); 这段代码对于 keyup 或 change 事件工作正常,但是当用户点击搜索按钮而不是 keyup/更改多个搜索值时,我需要搜索结果。 没有完整的工作示例很难提供帮助 【参考方案1】:我已经使用下面的代码解决了这个问题。
<script>
jQuery('#filter').click(function(e)
dataTable.columns(2).search(jQuery("#2").val()).columns(3).search(jQuery("#3").val()).columns(11).search(jQuery("#11").val()).columns(12).search(jQuery("#12").val()).columns(13).search(jQuery("#13").val()).draw(););
</script>
当用户单击过滤器按钮时,只有我将搜索值传递给绘图函数。对我来说效果很好。
【讨论】:
以上是关于如何将多个搜索值传递给数据表中的 search.draw 函数?的主要内容,如果未能解决你的问题,请参考以下文章