我有一个这样的列表:
<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 根据数组顺序排序吗?
最佳答案
如果 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");
}
尽管如果您实际上不需要排序,难道您不能在循环中设置那些输入值吗?这假设真实代码并不比示例复杂很多,如下所示:
var arr = ['3', '1', '2'];
$("ul li input").val(function(i) {
return arr[i];
});
关于php - jQuery/PHP - 按 PHP 数组值对 html 列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3197337/