
jQuery UIのSortable Tableでテーブルの順序を並び替え、その並び順をDBに登録したい場合、1列目に入力されているIDを並び順に取得する必要があります。
並び順をカンマ区切りデータで取得する方法を説明します。
XHTML
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<table class="tbTest"> <tbody> <tr> <td>1</td><td>太郎</td> </tr> <tr> <td>2</td><td>二郎</td> </tr> <tr> <td>3</td><td>三郎</td> </tr> </tbody> </table> |
JavaScript
0 1 2 3 4 5 6 |
var itemIDs = ''; $('.tbTest tr').map(function () { itemIDs += $(this).children('td:first').text() + ','; }); alert(itemIDs); |
クリックイベントでクリックしたテーブルのtrをmapメソッドで配列形式で取得します。
そこで、そのtrの中の最初のtdの値を取得するにはchildren(‘td:first’)というようにtd:firstを指定します。
これで1列目に入力されている値がカンマ区切りで行数分取得できます。取得したデータをAjaxでPHPに投げてDBを更新すればOK。