如何将多个搜索值传递给数据表中的 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 函数?的主要内容,如果未能解决你的问题,请参考以下文章

如何将这些多个查询结果传递给MVC中的视图?

如何将向量中的值传递给带有多个参数的函数

Informix:如何将单个参数中的多个值传递、使用和执行到存储过程

如何将多个复选框值传递给php [重复]

将输入标记的值传递给搜索按钮标记 - ReactJS

如何通过 PHP 将多个单选按钮值作为所有单独的值传递给 MYSQL 数据库,但将它们分成组?