2013-12-22 28 views
0

試圖讓list.js插件對多個值進行排序。即它應該首先對類別進行排序,然後按字母順序對類別內的標題進行排序。使用List js對多個值進行排序

這裏有一個演示:
http://jsfiddle.net/8E7cH/

作品在Safari和Firefox。但是在Chrome中它並不是。

HTML

<ul> 
    <li class="category"> 
     <span class="sort">Category</span> 
    </li> 
</ul> 


<main id="articlelist"> 
    <ul class="list"><li> 
      <span class="category">Design</span> 
      <span class="overflow"> 
       <a class="title" href="http://someurl.com/adventure-gear/">Adventure gear</a> 
      </span> 
     </li><li> 
      <span class="category">Architecture</span> 
      <span class="overflow"> 
       <a class="title" href="http://someurl.com/djennes-mud-mosque/">Djenné’s Mud Mosque</a> 
      </span> 
     </li><li> 
      <span class="category">Cities</span> 
      <span class="overflow"> 
       <a class="title" href="http://someurl.com/edge-city-sao-paulo/">Edge City (São Paulo)</a> 
      </span> 
     </li><li> 
      <span class="category">Cities</span> 
      <span class="overflow"> 
       <a class="title" href="http://someurl.com/istanbul/">Istanbul</a> 
      </span> 
     </li><li> 
      <span class="category">Cities</span> 
      <span class="overflow"> 
       <a class="title" href="http://someurl.com/jenin/">Jenin</a> 
      </span> 
     </li><li> 
      <span class="category">Architecture</span> 
      <span class="overflow"> 
       <a class="title" href="http://someurl.com/previ/">PREVI</a> 
      </span> 
     </li><li> 
      <span class="category">Cities</span> 
      <span class="overflow"> 
       <a class="title" href="http://someurl.com/rebuilding-beirut/">Rebuilding Beirut</a> 
      </span> 
     </li><li> 
      <span class="category">Architecture</span> 
      <span class="overflow"> 
       <a class="title" href="http://someurl.com/revolutionary-housing-argentina/">Revolutionary housing in Argentina</a> 
      </span> 
     </li><li> 
      <span class="category">Cities</span> 
      <span class="overflow"> 
       <a class="title" href="http://someurl.com/shenzhen/">Shenzhen</a> 
      </span> 
     </li><li> 
      <span class="category">Architecture</span> 
      <span class="overflow"> 
       <a class="title" href="http://someurl.com/high-line/">The High Line</a> 
      </span> 
     </li><li> 
      <span class="category">Cities</span> 
      <span class="overflow"> 
       <a class="title" href="http://someurl.com/unreal-estate-london/">Unreal Estate (London)</a> 
      </span> 
     </li> 
    </ul> 
</main> 


JS

var articleList = new List('articlelist', {valueNames: [ 'category', 'title' ]}); 

$('span.sort').click(function() { 
     articleList.sort('title', { asc: true }) 
     articleList.sort('category', { asc: true }) 
}); 
+0

我剛剛在Chrome瀏覽器上試過了,它能正常工作! – watou

+0

真的嗎?什麼平臺?我在OSX上使用版本31.0.1650.63。按類別給我這個(不按字母順序排列的標題)http://i.imgur.com/NyNmZlj.png – INT

回答

0

這種嘗試:

var articleList = new List('articlelist', {valueNames: [ 'category', 'overflow' ]}); 

$('span.sort').click(function() { 
     articleList.sort('overflow', { asc: true }) 
     articleList.sort('category', { asc: true }) 
}); 

我認爲你必須使用標籤span的階級屬性值。

+0

好一點,但你可以反覆按下按鈕,它會繼續「排序」http:// jsfiddle .net/C3VfG/ – INT

+0

我剛剛編輯我的答案,並且重複排序已解決,但我認爲它根據所有內容的值對列表進行排序,即''標記,即'' – watou

+0

@INT I認爲插件Listjs無法對多個值進行排序! – watou

相關問題