有没有办法通过特定事件启用/禁用对数据表的搜索?
Posted
技术标签:
【中文标题】有没有办法通过特定事件启用/禁用对数据表的搜索?【英文标题】:Is there a way to enable/disable searching on a datatable by an specific event? 【发布时间】:2018-08-04 18:37:43 【问题描述】:我正在尝试在选择特定单选按钮时禁用数据表上的搜索字段。
我正在使用 icheck 插件
我正在考虑甚至使用模糊或这个 我的html
<div class="box-tools pull-right">
<label for="rbn_buscar_codigo">
<input type="radio" name="buscar_por" class="flat-red" id="rbn_buscar_codigo">
<strong>Código</strong>
</label>
<label for="rbn_buscar_linea">
<input type="radio" name="buscar_por" class="flat-red" id="rbn_buscar_linea">
<strong>Línea</strong>
</label>
<label for="rbn_buscar_seccion">
<input type="radio" name="buscar_por" class="flat-red" id="rbn_buscar_seccion">
<strong>Sección</strong>
</label>
<label for="rbn_buscar_descripcion">
<input type="radio" name="buscar_por" class="flat-red" id="rbn_buscar_descripcion">
<strong>Descripción</strong>
</label>
<label for="rbn_buscar_todos">
<input type="radio" name="buscar_por" class="flat-red" id="rbn_buscar_todos">
<strong>Todos</strong>
</label>
</div>
我的 Js
$('#rbn_buscar_codigo').on('ifChecked', function (event)
$('#postTable').DataTable(
'searching': false,
'language':
'url': '../plugins/dataTables.spanish.lang'
)
)
在文档中,有一种方法可以销毁数据表 .destroy(),但是当取消选中该单选按钮并选择另一个单选按钮时,我不知道如何再次创建它
【问题讨论】:
【参考方案1】:我这样做了,不是最好的解决方案,但假设他们会为不同的 url 获得不同的数据
$(document).ready(function ()
var tablaBusqueda = $('#postTable').DataTable(
'searching': false,
'language':
'url': '../plugins/dataTables.spanish.lang'
)
$('#rbn_buscar_codigo').on('ifChecked', function (event)
tablaBusqueda.destroy()
alert('tabla codigo')
tablaBusqueda = $('#postTable').DataTable(
'searching': false,
'language':
'url': '../plugins/dataTables.spanish.lang'
)
)
$('#rbn_buscar_descripcion').on('ifChecked', function (event)
tablaBusqueda.destroy()
alert('tabla descripcion')
tablaBusqueda = $('#postTable').DataTable(
'language':
'url': '../plugins/dataTables.spanish.lang'
)
)
$('#rbn_buscar_linea').on('ifChecked', function (event)
tablaBusqueda.destroy()
alert('tabla linea')
tablaBusqueda = $('#postTable').DataTable(
'language':
'url': '../plugins/dataTables.spanish.lang'
)
)
$('#rbn_buscar_seccion').on('ifChecked', function (event)
tablaBusqueda.destroy()
alert('tabla seccion')
tablaBusqueda = $('#postTable').DataTable(
'language':
'url': '../plugins/dataTables.spanish.lang'
)
)
$('#rbn_buscar_todos').on('ifChecked', function (event)
tablaBusqueda.destroy()
alert('tabla todos')
tablaBusqueda = $('#postTable').DataTable(
'language':
'url': '../plugins/dataTables.spanish.lang'
)
)
)
【讨论】:
【参考方案2】:搜索 div id 是 example_filter。只需在选中单选按钮时使用 jquery 隐藏 div。
【讨论】:
以上是关于有没有办法通过特定事件启用/禁用对数据表的搜索?的主要内容,如果未能解决你的问题,请参考以下文章