2015-03-25 125 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

相關問題