2010-07-07 66 views
2

我有一個這樣的名單:jQuery/PHP的 - 按PHP數組值排序的HTML列表?

<li> <input value="1" name="bla[]" /> </li> 
<li> <input value="2" name="bla[]" /> </li> 
<li> <input value="3" name="bla[]" /> </li> 

(總是以相同的順序)

像這樣

array('3', '1', '2'); 

一個數組,但值的排列順序可以隨時更改。 上面的列表可以使用基於數組順序的jQuery進行排序嗎?

+0

你爲什麼不PHP中對其進行排序? – galambalazs 2010-07-07 17:40:33

回答

2

你可以這樣做客戶端這樣的,如果PHP是不是一個選項(如果可能的話,請做在PHP中,在這種情況下沒有必要的JavaScript):

var arr = ['3', '1', '2']; 
for(var i=0; i<arr.length; i++) { 
    $("ul li input[value='" + arr[i] + "']").parent().appendTo("ul"); 
}​ 

You can see a demo here


但如果你實際上並不需要進行排序,你不能只是設置這些值在循環中的輸入?這假設真正的代碼是不是有很多比這個例子更復雜的,就像這樣:

var arr = ['3', '1', '2']; 
$("ul li input").val(function(i) { 
    return arr[i]; 
});​ 

You can try that version here

+0

+1優雅的jQuery答案 – galambalazs 2010-07-07 17:47:29

+0

謝謝!畢竟我決定去用php – Alex 2010-07-07 17:58:55