テーブルの行を並べ替えたくなることってありませんか?ありますよね。なければお帰りください。どうでもいいけどタイトルがルー大柴みたいだ。
$('.mytable').sortable({
'items' : 'tbody tr',
'axis' : 'y'
});
まぁこんな感じで書いたわけです。もちろんFirefoxでは問題なく動作しています。
Internet Explorerェ…
並べかえようとすると、受け側のplaceholderが異常な高さになって、目もあてられない状態に。
jquery.ui sortable using a table and item:tr , placeholder difficulties – Stack Overflow
この辺りの記事を参考に、下記のようにしたら無事動きました。
$('.mytable').sortable({
'items' : 'tbody tr',
'axis' : 'y',
'start': function (event, ui) {
ui.placeholder.height(ui.helper.outerHeight());
}
});
ソート開始時に受け側のtr(placeholder)の高さを、動かしているtr(helper)の高さにしてやるわけですな。ちなみに上で参考にした記事ではIEの場合にtdを設定しているようですが、自分の場合は上ので動いたので気にしていません。上記で解決しない場合、試してみる手はあるかもしれません。
$('.mytable').sortable({
'items' : 'tbody tr',
'axis' : 'y',
'start': function (event, ui) {
ui.placeholder.html('<!--[if IE]><td colspan="数字入れて"> </td><![endif]-->');
}
});