2014-09-15 3 views
0

내 코드는 다음과 같습니다.draggable 요소는 확인 false에서 시작 위치로 이동해야합니다.

function editState() 
{ 
var b = confirm("Are you sure?"); 
$(".usMainDef").draggable({ 
     appendTo: "body", 
     revert:true, 
     stack: ".usMainDef" 
     }); 

     $('.inproUS').droppable(
      { 

       activeClass: "ui-state-default", 
       hoverClass: "ui-state-hover", 
       accept: ".usMainDef", 
       drop: function(event, ui) { 
        if (!b) { 

          } else { 
         id= $(ui.draggable).prop('id'); 
         var colid=$(event.target).attr('id'); 
         var newid=parseInt(id); 
         $("<div id='"+id+"' class='box usMainInp' ></div>").html(ui.draggable.html()).appendTo(this).draggable({cursor: 'move', revert:'invalid' }); 

         $.ajax({ 
          type: "POST", 
          url: "index.php?r=workspace/changeState", 
          // The key needs to match your method's input parameter (case-sensitive). 
          data: { 
           uState:colid, 
           uID:newid 

          }, 
          dataType: "json", 
          success: function(data){ 

          }, 
          failure: function(errMsg) { 
           alert(errMsg); 
          } 
         }); 
        } 

       } 
      }); 
    } 

'usMainDef'클래스가있는 요소를 드래그하면 확인 메시지가 표시됩니다. '취소'를 클릭하면 이전 위치로 되돌아 가고 싶습니다. '확인'을 클릭하면 아약스 요청을 보내야합니다. 나중에 문제가 해결됩니다. 내 문제는 '취소'요소를 클릭하면 요소가 시작 지점으로 이동하지 않습니다.이 작업을 수행 할 수 있습니까?

답변

0

나는 결국 대답을 얻었다. 여기 있습니다. 난 단지 아래 라인을 추가하고 싶습니다. 그런 다음 잘 작동합니다.

if (!confirm("Are you sure?")) { 
        ui.draggable.animate(ui.draggable.data().origPosition,"slow");       
       } 

else 
    { 
/*ajax request*/ 
}