如果我手动致电:
tabla.search('Advanced:' + search).draw();
其中“ tabla”是数据表,“ search”输入字段将使用搜索文本进行更新。
事实是,我正在使用同一字段实现高级搜索功能。
如果用户在搜索字段中输入内容(简单搜索),则网格将随搜索自动刷新。可以。
但是,我有一个高级搜索表。执行这种搜索时,我需要发布到服务器上的搜索参数以包括所有带有词头“ Advanced:”的搜索字段。这样,在服务器端,我可以知道搜索是简单还是高级。
问题在于,当使用“搜索”方法时,输入字段将使用搜索内容进行更新。如果执行高级搜索,则此文本将出现在字段中,例如:
Advanced:Campo_1=936969&Campo_2=&Campo_4=&Campo_7=&Campo_3=&Campo_5=&Campo_6=&Campo_8=
有没有办法避免搜索字段被更新?
谢谢 海梅
答案 0 :(得分:0)
最后,我创建了一个自定义搜索字段并删除了默认字段。
要完成此操作,我使用了以下dom定义:
dom: "<'row'<'col-sm-12 col-md-4'<\"gridToolbar\">><'col-sm-12 col-md-4'l><'col-sm-12 col-md-4'<\"customSearch\">>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>"
然后,在draw.dt事件中,我添加了:
$("div.customSearch").html('<div id="facturas_filter" class="dataTables_filter"><label>Buscar:<input type="search" class="form-control form-control-sm" placeholder="" aria-controls="facturas"></label></div>');
$('#facturas_filter input').on('keyup', function () {
tabla.search($('#facturas_filter input').val()).draw();
});
欢呼 海梅