【问题标题】:jQuery / PHP - sort html list by PHP array values?jQuery / PHP - 按 PHP 数组值对 html 列表进行排序?
【发布时间】:2010-07-07 17:34:37
【问题描述】:

我有一个这样的列表:

<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 jquery arrays


【解决方案1】:

如果 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

【讨论】:

    【解决方案2】:

    你会想要使用 javascript 来做这件事,但我想它已经足够接近 jQuery 了!

    您可以实现sort() 方法。见这里:http://www.w3schools.com/jsref/jsref_sort.asp

    如果您需要使用 PHP 进行排序,请参见此处:http://php.net/manual/en/function.sort.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多