2014-11-20 55 views
0

我正在实现搜索功能,我在页面上有两个部分。第一部分是首先隐藏的搜索表单和第二个搜索结果表。所以我试图从表格中的搜索结果中加载数据并显示它。所以我的问题是:在DataTable中加载ajax呼叫响应数据1.10

  1. 在哪里把DataTable启动代码?文档准备好还是AJAX成功?
  2. 如何从控制器向DataTable发送响应?

代码段

function onSearchClick() { 
    $.ajax({ 
    type: ... 
    url: ... 
    success: function(response) { 
     console.log(response); //Need to send this response to DataTable 
    } 
    }); 
} 

回答

0

我们可以使用

rows.add() 

其中多行表补充。只有参数是DataTable可以用来渲染行的数据。

0

你不说你正在使用的数据表的版本,但对于1.9 ...

使用iDeferLoading以防止把你的数据表中的初始化代码$(document).ready该表在页面加载时填充:

var oTable = $('#your-table').dataTable({ 
     'bServerSide': true, 
     'sAjaxSource': 'your-url-that-returns-json', 
     // Pass custom param to server 
     "fnServerParams": function (aoData) { 
      aoData.push({ "name": "my-filter", "value": $('my-selector').val() }); 
     }, 
     'bProcessing': true, 
     'iDeferLoading': 1, 
     'aoColumns': [ 
     ... 
     ] 
    }); 

您的点击事件只是需要DS叫fnDraw()填充数据表:

function onSearchClick() { 
    oTable.fnDraw(); 
} 

传递的搜索参数到服务器端代码包括使用fnServerParams。您的服务器端代码将不得不返回过滤后的数据之前,请求获取这些值,并在查询中使用它们:

var searchParam = Request.QueryString["my-filter"] 
+0

对不起,它的DataTable 1.10 – 2014-11-21 14:51:57