ユーザーが複数の行を選択できるテーブルがあります。選択された行には一意の ID があり、これが文字列に集約され、php ファイルに POST されます。1つの問題があることを除いて、すべてがうまく機能します。行が選択されている場合、選択の最後のステータスを POST しません。したがって、ログを調べると、これは基本的に次のように表示されます。
14_629_2 view.php:541
14_629_15 view.php:541
14_629_2 view.php:541
14_629_15 view.php:541
14_629_2;14_629_15 view.php:541
14_629_15 view.php:541
ちなみに2列です。したがって、最後の状態は両方の行が選択されている可能性がありますが、何らかの理由で代わりに14_629_2;14_629_15 view.php:541
投稿 されます。14_629_15 view.php:541
キャッシュや選択の履歴を保持してから、すべてをループしてダンプするかのようです..そして時々めちゃくちゃになります。
基本的に、現在の選択のみを追跡し、履歴を追跡する必要はありません。
私が使用するコード:
<script>
$('#t1').selectable({
filter:'tbody tr',
stop: function(event, ui){
var map = $( this ).find( ".ui-selected" ).map(function() {return this.id;}).get().join(";");
// var result = $( "#plate" ).empty().html(map);
$('#batch_send').click(function (){
$(function() {
$.ajax({
url: 'batch_send.php',
type: 'POST',
data: 'variable='+map,
success: function(data) {
$('.display_div').html(map);
console.log(map);
}
});
});
});
}
});
</script>
私はJavaScriptが初めてなので、これは明らかな間違いに違いありません...