2010-05-17 82 views
0

我收到了一些我想用jQuery進行排序和搜索的li。如何使用jquery搜索並排序li的集合?

我找到了 http://plugins.jquery.com/project/TinySort來排序東西 和Search through a big list fast with jQuery來搜索li的。

是否有一個好的插件可以處理這兩個事情(搜索+排序)或是在上面的鏈接中結合到兩個解決方案的方式?

編輯:總之,我在尋找這樣的事情http://www.datatables.net/,但不是一個表,應該在UL工作李肇星

謝謝!

回答

1

嗯,我總是喜歡在我自己的代碼中做這樣的事情,因爲太多的方差。

一個好的開始是把所有的LI對象放在一個數組中(它已經擁有一些簡單的排序方法)。

正在搜索&數組中排序不應該是一個問題。

var li_elements = []; 
for(var i = 0; i < 10; i++){ 
    var exampleli = $('<li/>', {text: 'I am an example', id: 'id'+i}); 
    li_elements.push(exampleli); 
} 

現在你可以進行排序/搜索/刪除最後添加這些李時珍爲UL元素。

1

也許最簡單的辦法是遍歷所有物品LI,並將它們分配到一個數組,你的排序算賬:

var output = []; 
$("LI.myclass").each(function() 
{ 
    // Assumes your sort criteria is a numeric something in a class name. 
    var res = $(this).attr("class").match(/\bmysome(\d+)\b/); 
    if (!res) continue; 
    output[res[1]] = this; 
}); 

// output now contains all the LIs with numeric indexes according to your search 
// criteria - sort them! 
output.sort(); 

// Assign the LIs 
$("UL#mylist").html("").append(output);