Rails上的订单列表项使用jQuery更新

Rails上的订单列表项使用jQuery更新,jquery,ruby-on-rails,sorting,Jquery,Ruby On Rails,Sorting,我有一个侧边栏,上面有一系列房间的名字。可以在模式中编辑房间的名称。当您在模式中单击“更新”时,侧栏中的文件室名称应更新,并且应以正确的顺序显示在列表中。由于服务器端Rails代码的原因,这将在刷新时发生。我只需要让它在客户端工作 除了分拣外,一切正常。我在update.js.erb文件中尝试了以下方法: $("ul.rooms li").detach().sort(asc_sort).appendTo('ul.rooms'); function asc_sort(a, b){ retu

我有一个侧边栏,上面有一系列房间的名字。可以在模式中编辑房间的名称。当您在模式中单击“更新”时,侧栏中的文件室名称应更新,并且应以正确的顺序显示在列表中。由于服务器端Rails代码的原因,这将在刷新时发生。我只需要让它在客户端工作

除了分拣外,一切正常。我在update.js.erb文件中尝试了以下方法:

$("ul.rooms li").detach().sort(asc_sort).appendTo('ul.rooms');
function asc_sort(a, b){
    return ($(b).text()) < ($(a).text()) ? 1 : -1;
}
$(“ul.rooms li”).detach().sort(asc_sort).appendTo('ul.rooms');
函数asc_排序(a,b){
返回($(b).text())<($(a).text())?1:-1;
}
这将导致每个列表项出现两次,并且新更新的文件室将排序到列表的底部

下面是列表项(文件室名称为1)的HTML格式:


  • 在Chrome中执行此操作是一场噩梦,因此我最终使用tinysort解决此问题:

    在Chrome中执行此操作是一场噩梦,因此我最终使用tinysort解决此问题:

    <li>
      <a href="#" class="room" id="room-11">
          1
          <span class="badge counter"></span>
      </a>
      <a class="cog-link pull-right" style="padding:0 20px 0 2px;" data-remote="true" href="/rooms/11/edit"><i class="glyphicon glyphicon-cog pull-right"></i></a>
    </li>