2015-03-25 172 views
0

我有一个将显示给用户的项目列表。我知道要将可以将列表发送到后端的项目进行排序,对它们进行排序并再次显示它们,但是如何在前端执行此操作,因此无需将列表发送到后端。如何对JSP中的对象列表进行排序

我发现this table,但它显示列中的结果。正如你所看到的,我想以下面的方式以特定的方式展示它们。

<div class="row"> 
      <div class="col-md-4"> 
       <c:forEach var="item" items="${products}"> 
        <div style="text-align: left;"> 
         <div> 
         Name: ${item.name} 
         </div> 
         <div> 
         Price: ${item.price} 
         </div> 
        </div> 
       -------------------------- 
       </c:forEach> 
      </div> 
</div> 

输出是不是会像下面

Name: item1 
Price: 12 
--------------- 
Name: item2 
Price: 23 
---------------- 
+0

获取显示之前整理的列表项。 – jaggs 2015-03-25 03:46:00

+0

@jegadees首先需要显示它们未排序,然后允许用户对它们进行排序。也有不同类型的排序。请投票吸引更多观众。 – Jack 2015-03-25 03:47:48

+0

@jegadees按名称排序/按价格排序。请点击此表中的链接,以获取更多详情。 – Jack 2015-03-25 04:09:53

回答

2

您可以将元素进行排序,看看我做的数字排序的示例表:

http://jsfiddle.net/tnnqyxcw/1/

js:

$(document).ready(function(){ 
    $('button').on('click', function(){ 
     var s = $(this).data('sort'); console.log(s); 
     if(s === 0){ 
      $(this).data('sort', 1); 
      $('.clist div').sort(function(a,b){ 
       return a.dataset.sid < b.dataset.sid 
      }).appendTo('.clist')    
     }else{ 
      $(this).data('sort', 0); 
      $('.clist div').sort(function(a,b){ 
       return a.dataset.sid > b.dataset.sid 
      }).appendTo('.clist') 
     } 
    }); 
}); 

的Html

<button data-sort="0">Sort:</button><br> 
<div class="clist"> 
    <div data-sid=1>Number 1</div> 
    <div data-sid=4>Number 4</div> 
    <div data-sid=3>Number 3</div> 
    <div data-sid=1>Number 1</div> 
    <div data-sid=4>Number 4</div> 
    <div data-sid=2>Number 2</div> 
    <div data-sid=1>Number 1</div> 
</div> 

所以,你可以将用户data-排序为你想要的,然后分配点击你想要的按钮或什么的。

我希望这是帮助。

+0

@jack是否工作? – gon250 2015-03-25 10:57:12

+0

我接受了你的答案,但是我有一些问题,你可能会在这里找到新的问题http://stackoverflow.com/questions/29269812/how-to-have-a-relational-table-with-two-primary -hibernate -hibernate谢谢。 – Jack 2015-03-26 01:56:22

+1

@杰克我刚才看到你的新问题,对于延误感到抱歉。 – gon250 2015-03-26 08:56:49

相关问题