http://datatables.net/plug-ins/sortingにあるENUM並べ替えルーチンを使用しています。同じ関数を再利用して、DataTablesプラグインの外部で別のリストを並べ替えたいと思います(基本的には、DataTableと同じページのSELECT要素を並べ替えます)。ソート機能の機能をコピーアンドペースト(および2セットのビジネスルールを維持)する必要がないようにしたいと思います。
たとえば、これがDataTablesに使用している「プラグイン」の場合:
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"status-enum-pre": function (a) {
switch (a) {
case "Assigned": return 1;
case "Contacted": return 2;
case "Meeting Set": return 3;
case "Closed": return 4;
default: return 5;
}
},
"status-enum-asc": function (a, b) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"status-enum-desc": function (a, b) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
});
その関数を再利用して、次の選択リストを並べ替えるにはどうすればよいですか?
<select>
<option value="Contacted">Contacted</option>
<option value="Assigned">Assigned</option>
<option value="Closed">Closed</option>
<option value="Meeting Set">Meeting Set</option>
</select>