2012-06-26 34 views
5

Tôi muốn có thể tạo liên kết đến một trang có dữ liệu có thể định giá sẽ chuyển giá trị thông số tìm kiếm trong url. Mục tiêu là để có trang có dữ liệu mở được lọc trước với tham số giá trị tìm kiếm.Datatables - cách chuyển thông số tìm kiếm vào url

Tôi đã thiết lập một jsfiddle để làm việc với một số dữ liệu mẫu.
http://jsfiddle.net/lbriquet/9CxYT/10/

Ý tưởng sẽ được để thêm một tham số url jsfiddle để trang sẽ hiển thị với các giá trị đầu vào tìm kiếm thiết lập để "firefox", ví dụ, và bảng lọc để chỉ hiển thị các trận đấu tìm kiếm.

Mọi trợ giúp sẽ thực sự được đánh giá cao !!

Trả lời

4

Bạn có thể chỉ cần have a function that reads your URL var rồi lọc bảng. Tôi tưởng tượng rằng bạn vượt qua q = Firefox như tìm kiếm của bạn

// 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); 
}); 

Fiddle đây http://fiddle.jshell.net/9CxYT/17/show/?q=Firefox

+0

này nghe có vẻ như là giải pháp đúng ... nhưng tôi không thể làm cho nó làm việc. Đây là một jsfiddle về cách tôi đã cố gắng để tích hợp mã của bạn ... có lẽ tôi không đi về nó một cách chính xác? Nó ẩn tất cả các mục. http://jsfiddle.net/lbriquet/9CxYT/14/ – lbriquet

+1

Khung thiết kế jsfiddle có thể được xem như một trang độc lập (không phải trong khung nội tuyến). Để thực hiện việc này, hãy nhấp chuột phải vào khung thiết kế và chọn "Khung này" và sau đó "mở khung trong tab mới". Điều này tải trang dưới dạng: http://fiddle.jshell.net/lbriquet/9CxYT/14/show/ Tôi đã thử thêm giá trị "q" vào url, nhưng nó không thêm giá trị của tôi vào tìm kiếm lọc hoặc hiển thị các hàng có giá trị. http://fiddle.jshell.net/lbriquet/9CxYT/14/show/?q=firefox Bạn có thể giúp tôi hiểu những gì tôi đang làm sai không? – lbriquet

+1

@ lbriquet không biết về tính năng đó của jsfiddle. Dù sao nó là hàm getUrlVars đã hút, bây giờ nó hoạt động. Tôi đã cập nhật câu trả lời của mình –

3

Đây là một câu hỏi cũ, nhưng nó vẫn bật lên cao khi tìm kiếm một giải pháp. Đây là những gì tôi đã làm để làm cho nó hoạt động.

$(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 } 
 
    }); 
 
})

Các vấn đề liên quan