2012-06-26 1 views
5

Я хотел был бы иметь возможность сделать ссылку к странице с datatable которое передало бы значение параметра поиска в url. Цель состоит в том, чтобы страница с открытым исходным текстом была предварительно отфильтрована с параметром значения поиска.Datatables - как передать параметр поиска в URL-адрес

Я установил jsfiddle для работы с некоторыми данными примера.
http://jsfiddle.net/lbriquet/9CxYT/10/

Идея заключается в том, чтобы добавить параметр в jsfiddle URL, так что страница будет отображаться со значением поиска ввода установлен в положение «светлячок», например, и таблицы отфильтрованной, чтобы показать только поисковые матчи.

Любая помощь была бы действительно оценена!

ответ

4

Вы можете просто have a function that reads your URL var, а затем отфильтровать стол. Я полагаю, что вы передаете д = 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); 
}); 

скрипки здесь http://fiddle.jshell.net/9CxYT/17/show/?q=Firefox

+0

Это звучит как правильное решение ... но я не мог заставить его работать. Вот jsfiddle того, как я пытался интегрировать ваш код ... возможно, я не буду делать это правильно? Он скрывает все записи. http://jsfiddle.net/lbriquet/9CxYT/14/ – lbriquet

+1

Рамку jsfiddle можно рассматривать как отдельную страницу (не в iframe). Чтобы сделать это, щелкните правой кнопкой мыши в рамке проектирования и выберите «Этот кадр», а затем «Открыть рамку на новой вкладке». Загрузка этой страницы как: http://fiddle.jshell.net/lbriquet/9CxYT/14/show/ Я пробовал добавить к значению значение "q", но это не добавило моего значения в поиск фильтровать или показывать строки со значением. http://fiddle.jshell.net/lbriquet/9CxYT/14/show/?q=firefox Можете ли вы помочь мне понять, что я делаю неправильно? – lbriquet

+1

@lbriquet не знал об этой функции jsfiddle. Во всяком случае, это была функция getUrlVars, которая сосала, теперь она работает. Я обновил свой ответ –

3

Это старый вопрос, но он до сих пор всплывает высокий при поиске решения. Вот что я сделал, чтобы заставить его работать.

$(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=')) 
 
\t \t     .split('&')[0] 
 
\t \t     .split('=')[1]; 
 
    
 
    
 
    $('#example').dataTable({ 
 
    "oSearch": { "sSearch": searchString } 
 
    }); 
 
})