技術資料

jQuery UIでドラッグ&ドロップソート機能を実装する方法

作成日:2010.07.27

jQuery UIの「Sortable」モジュールを使って、リスト要素をドラッグ&ドロップで並び替えられる機能を簡単に実装してみましょう。必要なモジュールの取得から、ソート機能を動作させるためのスクリプトの書き方までを解説しています。

error この記事は最終更新日から14年以上が経過しています。

ul要素や ol要素で作成したリストを、マウスのドラッグ&ドロップで好きなようにソート可能にする jQuery のモジュール「Sortable」の解説です。

1. Sortable モジュールの入手

Sortable を利用するためには、通常の jQuery ソースコード以外に、jQuery UI のモジュールをいくつか読み込む必要があります。

jQuery UI - Configure your download から jQuery UI モジュールをダウンロードしましょう。

上記サイトには、Sortable 以外にも沢山のモジュールが用意されていますが、とりあえず Sortable の機能を利用したいだけの場合は、以下の四つのモジュールを選択すればOKです。

  • Core
  • Widget
  • Mouse
  • Sortable

2. script要素で各種モジュールを読み込む

ダウンロードしたら、各種モジュールを script要素で指定して読み込みます。

この際注意するべきことは、

  • 各種モジュールは jquery.js よりも後に指定する
  • 各種モジュールの jsファイルは順番通りに指定する
  • その他の外部 jsファイルがある場合は、各種モジュールより後に指定する

といったあたりでしょうか。

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.ui.core.js"></script>
<script type="text/javascript" src="jquery.ui.widget.js"></script>
<script type="text/javascript" src="jquery.ui.mouse.js"></script>
<script type="text/javascript" src="jquery.ui.sortable.js"></script>

3. ソースのコーディングとリストの id指定

まず、ソートしたいリストに id をつけます。

<ul id="sort_list">
  <li>火吹山の魔法使い</li>
  <li>バルサスの要塞</li>
  <li>運命の森</li>
  <li>さまよえる宇宙船</li>
  <li>盗賊都市</li>
  <li>死のワナの地下迷宮</li>
</ul>

今回は「sort_list」という id をつけました。

続いて、jQuery のコードを書きます。

$(function() {
	$("#sort_list").sortable({items:"li"});
});

これだけてOKです。

これで、「sort_list」内の li要素をドラッグ&ドロップでソートできるようになりました。

チェックボックス操作のためのjQuery基本メモ

2025.02.05

jQueryを使ってチェックボックスの状態を操作するための基本的なコードをまとめています。フォームやインタラクティブなUIを作成する際に役立つ内容です。

JavaScript jQuery

jQueryでフォームのreadonly属性を操作する方法

2025.02.04

jQueryを使ってフォーム要素のreadonly属性を動的に操作する方法について解説します。readonlyの設定と解除の手順をシンプルにまとめました。

JavaScript jQuery

ダッシュボードのパフォーマンス改善:Ajaxとiframeの実践例

2024.12.11

サーバーサイドですべてを処理してから画面を出力するのではなく、データを分割して効率的に表示する手法をご紹介。Ajaxとiframe、それぞれの特徴や実装例をわかりやすく解説します。

HTML JavaScript jQuery

contenteditableで作るインライン編集システムとデータ送信の仕組み

2024.12.03

contenteditable属性を利用すれば、HTML内のテキストを直接編集できるインターフェースを構築できます。 本記事では、contenteditableを活用したインライン編集機能の実装手法について解説します。 UIの向上を目指す際の参考として。

CSS HTML JavaScript jQuery

阿部辰也へのお仕事の依頼・お問い合わせ

お名前 *必須
会社名
メールアドレス *必須
電話番号
URL
お問い合わせのきっかけ
お問い合わせの内容 *必須
個人情報の取り扱いについて *必須 プライバシーポリシーをご確認いただき、同意いただける場合は「同意する」にチェックをしてください。

keyboard_double_arrow_up
TOP