【发布时间】:2010-12-20 17:55:52
【问题描述】:
我希望有人可以帮助我解决这个问题。我一直为此发疯。
我有一种情况,我加载了 DataTables 网格(顺便说一句太棒了!),一切都很好。然后我去搜索,我遇到了问题。网格中填充的数据来自两个不同的数据库表(这很好),但是当有人执行搜索时,我无法知道去哪里获取数据。我需要知道搜索的标准是什么(即标题或联系人)。我看到当通过默认搜索框从服务器调用搜索时,有诸如“sSearch_0”之类的变量都未设置,如何设置?
这里是表格的初始化代码:
oTable = $('#example').dataTable({
"bJQueryUI": true,
"bFilter": true,
"sPaginationType": "full_numbers",
"bPaginate " : true,
"bServerSide" : true,
"sAjaxSource" : "php/tabledata.php",
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [ 0,6,8 ] },
{ "sClass": "tdCenter", "aTargets": [ 0,1,2,3,4,5,6,7,8 ] }
],
"fnServerData": function ( sSource, aoData, fnCallback ) {
aoData.push( { "name": "userid", "value": userid } );
$.getJSON( sSource, aoData, function (json) {
fnCallback(json)
});
}
});
我已经研究了将数据添加到“fnServerData”的选项,并实际将其用于第一个初始化服务器调用,但不确定如何将其用于后续服务器调用。我曾尝试使用“fnFilter”,但我没有看到执行服务器调用以获取更多数据。在这一点上,除了默认搜索框之外,我没有看到任何其他执行服务器调用的方法,并且我看到了一些知道搜索是针对哪一列的方法。
有人可以在这里帮助我并指出正确的方向吗?
【问题讨论】:
-
首先,请允许我欢迎您使用 Stackoverflow!其次,我会为您指出一篇关于“how to ask perfect questions on SO”的精彩文章,最后,我会问您是否可以发布您正在使用的 jQuery 和数据库调用(无论是外部 php 脚本还是在jQuery 本身)。希望我们能够帮助您... =)
-
您使用的是“搜索全部”功能还是单列搜索?对于全部搜索,您必须编写代码来搜索两个不同表中的每一列。如果是列搜索,您可以在列索引上匹配 sSearch_x(通常为 x = 列索引)。
-
我使用的是开箱即用的“搜索全部”功能。我不知道如何设置单列搜索,我很想让它工作。你是怎么设置的?