3 つのチェックボックスが必要です。チェックボックス 1、チェックボックス 2、およびチェックボックス 3 と呼びましょう。
<form id="test">
<div id="startingpoint">
<div id="clickdiv"><input type="checkbox" id="checkbox1" value="1" />checkbox1</div>
<div id="clickdiv"><input type="checkbox" id="checkbox2" value="1" />checkbox2</div>
<div id="clickdiv"><input type="checkbox" id="checkbox3" value="1" />checkbox3</div>
</div>
<div id="endingpoint"></div>
</form>
チェックボックスをオンにすると、appendTo を使用して「開始点」から「終了点」に移動するように設定しました。正常に動作しています。問題は、それらを時系列にとどめたいということです(開始した順序)。
SO ...「checkbox3」をチェックしてから「checkbox1」をチェックした場合、結果は次のようになります。
<form id="test">
<div id="startingpoint">
<div id="clickdiv"><input type="checkbox" id="checkbox2" value="1" />checkbox2</div>
</div>
<div id="endingpoint">
<div id="clickdiv"><input type="checkbox" id="checkbox1" value="1" />checkbox1</div>
<div id="clickdiv"><input type="checkbox" id="checkbox3" value="1" />checkbox3</div>
</div>
</form>
しかし... appendToが機能する方法で、これを取得します(「checkbox3」は「checkbox1」の上にあることに注意してください)
<form id="test">
<div id="startingpoint">
<div id="clickdiv"><input type="checkbox" id="checkbox2" value="1" />checkbox2</div>
</div>
<div id="endingpoint">
<div id="clickdiv"><input type="checkbox" id="checkbox3" value="1" />checkbox3</div>
<div id="clickdiv"><input type="checkbox" id="checkbox1" value="1" />checkbox1</div>
</div>
</form>
どうすればそれらを時系列、特にそれらが開始された順序で維持できますか。おそらく appendTo は解決策ではありませんか?
コメントに応じて追加:
<script type="text/javascript">
$(function(){
$('#test input').attr('checked', false);
$('#test input').click(function(){
if (this.checked) {
$(this).closest('div').hide().appendTo("#endingpoint").fadeIn(1000)
}
else {
$(this).closest('div').hide().appendTo("#startingpoint").fadeIn(1000)
}
});
});
</script>