技術資料

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

2010.07.27

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要素をドラッグ&ドロップでソートできるようになりました。

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

2024.12.11

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

HTML JavaScript jQuery

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

2024.12.03

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

CSS HTML JavaScript jQuery

セレクトボックスでデータ更新を実現する仕組みと実装例

2024.11.29

「チェックボックスを使ったデータ更新の仕組み」に続く記事として、今回はセレクトボックスを活用したデータ更新の方法をご紹介します。複数の選択肢から値を選び、それをサーバー側に送信して更新する仕組みを、実装例とともに解説します。

HTML JavaScript jQuery

チェックボックスでデータ更新を実現する仕組みと実装例

2024.11.27

一覧画面のチェックボックスを用いて、データの状態を即時に更新する仕組みを実装する方法を解説します。HTMLの構造設計からJavaScriptの連携処理、サーバーサイドでの対応まで、説明しています。

HTML JavaScript jQuery

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

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

keyboard_double_arrow_up
TOP