2010-07-07 67 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