Мой сценарий:Сортировка DataTable JQuery исключая пробела в текстовых полях
Я пытаюсь сортировать дату столбец таблицы, которая использует DataTable
JQuery плагин, и я сортировал таблицу, но с текстовыми полями, имеющими бело- пространства. Следовательно, когда я сортирую «ASC», то сначала будут заполняться поля с текстовыми полями. Этого не должно быть. Я хочу сортировать таблицу, исключая пустые текстовые поля.
Я попытался следующий код:
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"customdatesort-pre": function (formElement) {
// returns the "weight" of a cell value
var r, x;
var a = $(formElement).val();
if (a === null || a === "") {
// for empty cells: weight is a "special" value which needs special handling
r = false;
} else {
// otherwise: weight is the "time value" of the date
x = a.split("/");
r = +new Date(+x[2], +x[1] - 1, +x[0]);
}
//console.log("[PRECALC] " + a + " becomes " + r);
return r;
},
"customdatesort-asc": function (a, b) {
// return values are explained in Array.prototype.sort documentation
if (a === false && b === false) {
// if both are empty cells then order does not matter
return 0;
} else if (a === false) {
// if a is an empty cell then consider a greater than b
return 1;
} else if (b === false) {
// if b is an empty cell then consider a less than b
return -1;
} else {
// common sense
return a - b;
}
},
"customdatesort-desc": function (a, b) {
if (a === false && b === false) {
return 0;
} else if (a === false) {
return 1;
} else if (b === false) {
return -1;
} else {
return b - a;
}
}
});
проблемы я нашел с этим кодом:
В приведенном выше коде, вы можете увидеть "customdatesort-pre": function (formElement)
. Параметр formElement
принимает только пустые значения, а не текстовые поля с некоторыми значениями даты.
Что мне нужно:
Мне нужно сортировать столбцы даты исключающие пустые текстовые поля.
Это работает для меня. Большое спасибо приятелю. – Vikash