Сортировка диапазона jQuery TableSorter

Я хочу правильно отсортировать ценовой диапазон. Как я могу это сделать?

    $.tablesorter.addParser({
// set a unique id
id: 'pricerange',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s,table,cell) {
// format your data for normalization
var cellTxt = s.replace("USD", "").replace(",","");
console.log(cellTxt);
return cellTxt;

},
// set type, either numeric or text
type: 'nemeric'
});

http://jsfiddle.net/Lnd4t6uy/2/

1

Решение

Ваш вопрос заставил меня задуматься о том, как определить, будет ли число, введенное в качестве поискового запроса, находиться в указанном диапазоне в таблице. Итак, теперь у меня есть демо это показывает, как добавить новый тип поиска фильтра.

Этот код работает только с моим вилка столового

$(function() {

// Add insideRange filter type
// ============================
// This allows you to enter a number (e.g. 8) and show the
// resulting rows that will have that query within it's range
var ts = $.tablesorter,
isDigit = /\d+/,
nondigit = /[^\d,.\-()]/g,
range = /\s+-\s+/;

ts.filter.types.insideRange = function( c, data ) {
if ( isDigit.test( data.iFilter ) && range.test( data.iExact ) ) {
var t, val, low, high,
parts = data.iExact.replace( nondigit, '' ).split( '-' );
// the cell does not contain a range
if ( isNaN( parts[0] ) || isNaN( parts[1] ) ) {
return null;
}
low = ts.formatFloat( parts[0], c.table );
high = ts.formatFloat( parts[1], c.table );
val = ts.formatFloat( data.iFilter.replace( nondigit, '' ), c.table );
if ( high < low ) {
// swap high & low
t = high; high = low; low = t;
}
return low <= val && val <= high;
}
return null;
};

// call the tablesorter plugin
$("#table").tablesorter({
theme: 'blue',
widthFixed : true,
widgets: ["zebra", "filter"],
widgetOptions : {
// set to false because it is difficult to determine if a filtered
// row is already showing when looking at ranges
filter_searchFiltered : false
}
});

});

А также вот jsfiddle если вы хотите возиться с кодом.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]