数据表 - 如何在URL中传递搜索参数

lbr*_*uet 6 url search filter parameter-passing datatables

我希望能够链接到具有数据表的页面,该数据表将在URL中传递搜索参数值.目标是使用搜索值参数预先过滤数据表打开的页面.

我已经设置了一个jsfiddle来处理一些示例数据.
http://jsfiddle.net/lbriquet/9CxYT/10/

我们的想法是在jsfiddle url中添加一个参数,以便页面显示时搜索输入值设置为"firefox",并且表格被过滤以仅显示搜索匹配.

任何帮助将非常感激!!

小智 8

这是一个老问题,但在搜索解决方案时它仍然弹出。这是我为使其工作所做的工作。

$(document).ready( function() {
  
  // First, get the search parameter. Here I use example.com#search=yourkeyword
    var searchHash = location.hash.substr(1),
        searchString = searchHash.substr(searchHash.indexOf('search='))
		                  .split('&')[0]
		                  .split('=')[1];
  
  
  $('#example').dataTable( {
    "oSearch": { "sSearch": searchString }
  } );
} )
Run Code Online (Sandbox Code Playgroud)


Nic*_*tti 5

您可以简单地使用一个函数,该函数读取URL var,然后过滤表。我想您通过q = Firefox作为搜索

// Read a page's GET URL variables and return them as an associative array.
function getUrlVars()
{
 var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
        vars[key] = value;
    });
    return vars;

}

$(document).ready(function() {
    // Get the query from the url
    var query = getUrlVars()['q'];
    // create the table
    var oTable = $('#example').dataTable();
    // Filter it
    oTable.fnFilter( query, 2 );
});
Run Code Online (Sandbox Code Playgroud)

在这里拨弄http://fiddle.jshell.net/9CxYT/17/show/?q=Firefox