JQueryのソート可能な関数から新しい値を取得する方法についてのガイドがたくさんあることを私は知っています。しかし、それは私が望むようには機能しません。PHP変数に新しい値を追加して、ボタンが押されたときに画面に出力したり、MySQLデータベースを更新したりできるようにする必要があります。2つの別々のファイルで作業したくありません。したがって、POST変数を使用しました。
以下に、これまでに思いついたコードを示します(PHPファイルに保存します)。
<?php
echo '
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
<style>
#sortable { list-style-type: none; margin: 0; padding: 0; width: 100%; }
#sortable li { margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; font-size: 1.4em; height: 18px; }
#sortable li span { position: absolute; margin-left: -1.3em; }
</style>
<script>
$(function() {
$( "#sortable" ).sortable();
$( "#sortable" ).disableSelection();
});
</script>
</head>
<body>
<ul id="sortable">';
$array = str_split("ABCDEFGHI", 3);
for($i = 0; $i < count($array); $i++) {
echo '<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>' . $array[$i] . '</li>';
}
echo '
</ul><br>
<form action="" method="post">
<input type="submit" name="submit" value="Show order">
</form>
</body>
</html>';
if(isset($_POST['submit'])) {
// How to print the new order value?
}
?>