다음과 같은 마크 업과 자바 스크립트를 사용하여 일부 항목을 정렬했습니다. 항목은 블록 내에서 또는 다른 블록간에 정렬 될 수 있습니다. 그것은 작동하지만 항목을 한 블록에서 다른 블록으로 이동 한 후 올바른 블록 ID를 검색하는 데 문제가 있습니다. 나는 "블록 1"내에서 항목 1을 이동하는 경우Jquery를 사용하여 정렬 후 상위 컨테이너 ID를 검색하는 방법은 무엇입니까?
예를 들어, 나는 "나는 블록 = block_1에서이다"얻을하지만 블록 2에 항목 하나를 이동하면 나는 아직도 내가
블록 1에 오전 얻을 하지만 블록 2를 부모 컨테이너로 만들고 싶습니다. 이 ID를 검색하여 Ajax를 수행하고 그에 따라 db를 업데이트 할 수 있도록해야합니다.
이 문제를 바로 해결해 주시겠습니까 ??
<div id="blocks_sortable">
<div id="block_1">
<h2>Block 1</h2>
<div class="items_sortable connectedSortable">
<div id="item_1">
<span>Item 1</span></div>
<div id="item_2">
<span>Item 2</span></div>
<div id="item_3">
<span>Item 3</span></div>
</div>
</div>
<div id="block_2">
<h2>Block 2</h2>
<div class="items_sortable connectedSortable">
<div id="item_4">
<span>Item 4</span></div>
<div id="item_5">
<span>Item 5</span></div>
<div id="item_6">
<span>Item 6</span></div>
</div>
</div>
</div>
<script>
$("#blocks_sortable").sortable({ });
$(".items_sortable").sortable({
connectWith: '.connectedSortable'
, forcePlaceholderSize: true
, stop : function(event, ui){
alert("I am in block = "+$(this).parent().attr("id"));
}
}).disableSelection();
</script>
고맙습니다.
당신이 알고 있어야하는 또 다른 사항은 일반적으로 이벤트에서 발생하는 함수에서 이벤트가 "this"...로 참조되는 것입니다. 그래서 당신이 요구하는 것은 이벤트 객체의 부모입니다. 이동되는 요소 적어도 그것이 작동하는 방식이라고 생각합니다 ... 바닐라 JS에서 작동하는 방법입니다 (다시 jQuery에 대한 경험이 없으므로 $ (this)가 다른지 알 수 없습니다) – MisterMister