это текущий проект, и я почти закончил. Я разрабатывал пользовательский сортировщик таблиц на основе плагина tablesorter для jQueryt. К счастью, все готово. Мой последний вопрос: у меня есть заголовок таблицы следующим образом:
<th class="blue_bg"><a rel = "Header" href="#" title="Sort column in decending order" class="">Seats Available</a></th>
Я хотел бы добавить встроенный анализатор метаданных для отключения сортировки в определенном столбце. В настоящее время у меня есть функция обхода, которая проходит через каждый заголовок без класса и добавляет синтаксический анализатор следующим образом:
//th without a class automatically get sorting disabled
$("th[class='']").each(function(){
$(this).addClass("{sorter: false}");
});
У меня также есть один, который просматривает и ищет определенную строку, которая указывает, должен ли столбец быть отключен от сортировки:
//Add disabling parser to each header with a disable class
$("th[class*='csuci.sortable.false']").each(function(){
$(this).removeClass("csuci.sortable.false").addClass("{sorter: false}");
});
По сути, я хочу настроить его так, чтобы, если пользователь не укажет иное, по умолчанию или по заданной пользователем строке, в столбце сортировка была отключена. Напомним, что у меня отключена сортировка для столбцов, у которых вообще нет класса, и которые имеют класс, определяющий строку отключения. Мне также хотелось бы иметь третье условие, когда у пользователя может быть любой другой класс в заголовке, в этом примере пользователь указывает класс, чтобы сделать фон столбца синим. Но я не уверен, какой синтаксис мне нужен, чтобы добавить парсер отключения к заголовку этого примера. Помощь приветствуется, спасибо заранее.
ОБНОВЛЕНИЕ: Вот моя полная функция, которая добавляет парсеры, основанные на том, находится или нет атрибут класса th:
$(function(){
//Add disabling parser to each header with a disable class
$("th[class*='csuci.sortable.false']").each(function(){
$(this).removeClass("csuci.sortable.false").addClass("{sorter: false}");
});
//th without a class automatically get sorting disabled
$("th[class='']").each(function(){
$(this).addClass("{sorter: false}");
});
//Add parser to each table that has a class="csuci.sortable."
$("th[class*='csuci.sortable.date']").each(function(){
$(this).removeClass("csuci.sortable.date").addClass("{sorter: 'usLongDate'}");
});
$("th[class*='csuci.sortable.percent']").each(function(){
$(this).removeClass("csuci.sortable.date").addClass("{sorter: 'percent'}");
});
$("th[class*='csuci.sortable.ip']").each(function(){
$(this).removeClass("csuci.sortable.date").addClass("{sorter: 'ip-address'}");
});
$("th[class*='csuci.sortable.url']").each(function(){
$(this).removeClass("csuci.sortable.date").addClass("{sorter: 'url'}");
});
$("th[class*='csuci.sortable.money']").each(function(){
$(this).removeClass("csuci.sortable.date").addClass("{sorter: 'currency'}");
});
$("th[class*='csuci.sortable.time']").each(function(){
$(this).removeClass("csuci.sortable.date").addClass("{sorter: 'time'}");
});
});