2016-09-09 2 views
0

필터 위젯과 함께 jquery tablesorter2 (https://mottie.github.io/tablesorter/docs/index.html)를 사용합니다.jquery tablesorter2 : 생성 된 드롭 다운의 내용을 정렬하는 방법

이제 생성 된 드롭 다운 (테이블 값 아님) 형식의 값을 오름차순으로 정렬 순서를 변경하고 싶습니다. 나는 이것에 대한 jsFiddle을 만들었습니다 :

http://jsfiddle.net/ru5zLjk8/

여기에 할인 혜택 열을 찾을 수 있습니다. 그 값을 sort로 정렬하고 싶으므로, 가장 큰 할인이 드롭 다운에서 첫 번째입니다. 어쩌면이 그것을 할 잘못된 장소가 완전히

// each option has an associated function that returns a boolean 
    // function variables: 
    // e = exact text from cell 
    // n = normalized value returned by the column parser 
    // f = search filter input value 
    // i = column index 

을 :

몇 가지 옵션이 있습니다

,하지만 아무것도 맞는 것 같다?

어떻게 만드나요?

답변

0

당신은 그 열 (demo) 또한 데이터의 내부 정렬을 방지하기 위해 헤더에 "filter-select-nosort" 클래스를 추가해야합니다

filter_selectSource: { 
    5: function(table, column, onlyAvail) { 
    // get an array of all table cell contents for a table column 
    var array = $.tablesorter.filter.getOptions(table, column, onlyAvail); 
    return array.sort(function(a, b) { 
     return a === b ? 0 : parseFloat(b) > parseFloat(a) ? 1 : -1 
    }); 
    } 
} 

을 대상으로 filter_selectSource option를 사용할 수 있습니다.

"filter-select-desc-sort" 클래스를 추가하여 정렬을 쉽게 할 수있을 것이라고 생각합니다.

+0

답장을 보내 주셔서 감사합니다. 그것은 매력처럼 작동합니다. 그러나 하드 코딩 된 열 (이 예에서 "5")을 없애는 방법이 있습니까? 나는 다른 테이블에 js를 재사용하고 오직 modifiy html ("filter-select-nosort"를 추가)하고 싶습니다. – Mlr

+0

'filter_selectSource' 옵션은 인덱스 대신 헤더 클래스 이름을 사용할 수있게합니다. 하지만 "filter-select-desc-sort"클래스를 추가 할 수있는 기능을 추가했으며 이제 master 브랜치 ([DEMO] (http://jsfiddle.net/Mottie/ru5zLjk8/2/))에서 사용할 수 있습니다. – Mottie

+0

아, 변경 내용은'jquery.tablesorter.widgets.js' 파일이 아닌'widget-filter.js' 파일에서만 사용할 수 있습니다. 새 릴리스를 사용할 수있을 때만 업데이트됩니다. – Mottie

관련 문제