user-upload
3,547
回編集
(一部のページで無限ループに陥る問題を修正) |
(rowspanで不具合があったので分割するように処置(とりあえず)) |
||
23行目: | 23行目: | ||
'わ': 'ワ', 'を': 'ヲ', 'ん': 'ン' | 'わ': 'ワ', 'を': 'ヲ', 'ん': 'ン' | ||
}); | }); | ||
/* ソートキー */ | |||
function getElementSortKey(node) { | |||
var $node = $(node), | |||
data = $node.data('sortValue'); | |||
if (data !== null && data !== undefined) { | |||
return String(data); | |||
} else if (node.tagName.toLowerCase() === 'img') { | |||
return $node.attr('alt') || ''; | |||
} else { | |||
return $.map(node.childNodes, function(el) { | |||
return el.nodeType === 1 ? getElementSortKey(el) : $.text(el); | |||
}).join(''); | |||
} | |||
} | |||
/* sortbottom相当の機能を追加する */ | /* sortbottom相当の機能を追加する */ | ||
67行目: | 82行目: | ||
$tfoot.appendTo(this); | $tfoot.appendTo(this); | ||
/* .sortmiddle, .sortbottom */ | |||
var $rows = $(rows); | var $rows = $(rows); | ||
this.$sortbottoms = $rows.filter('.sortmiddle, .sortbottom').each(function(i) { | this.$sortbottoms = $rows.filter('.sortmiddle, .sortbottom').each(function(i) { | ||
this.insertPosition = $rows.index(this) - i; | this.insertPosition = $rows.index(this) - i; | ||
}).addClass('remove-me').remove(); | }).addClass('remove-me').remove(); | ||
/* rowspanを持つセルを分割する(暫定) */ | |||
$rows.each(function(i) { | |||
var cells = this.cells; | |||
for (var j = 0, len = cells.length; j < len; j++) { | |||
var rowspan = cells[j].rowSpan; | |||
cells[j].rowSpan = 1; | |||
for (var k = 1; k < rowspan; k++) { | |||
$(cells[j]).clone().insertBefore($rows.get(i + k).cells[j]); | |||
} | |||
} | |||
}); | |||
} | }) | ||
} | .tablesorter({ | ||
} | |||
sortLocaleCompare: true, | sortLocaleCompare: true, | ||
sortRestart: true, | sortRestart: true, |