代码之家  ›  专栏  ›  技术社区  ›  Alex

jQuery/PHP-按PHP数组值对html列表排序?

  •  2
  • Alex  · 技术社区  · 14 年前

    <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根据数组顺序排序吗?

    2 回复  |  直到 14 年前
        1
  •  2
  •   Nick Craver    14 年前

    如果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
  •  0
  •   cdnicoll    14 年前

    您可能会希望使用javascript来实现这一点,但我想这已经足够接近jQuery了!

    您可以实现 sort() http://www.w3schools.com/jsref/jsref_sort.asp

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