2012-05-01 2 views
0

jQuery를 사용하여 div 클래스의 값을 '삭제'할 때 캡처하고 표시하려고합니다. 예를 들어,이 특정 요소가 삭제 될 때 '01 : 20 '을 표시하려고합니다. div class = 'routineTime'> 01:20/div>jquery 드롭 이벤트에서 div 클래스의 값 가져 오기

또한이 누락 된 요소의 합계를 표시하고 누적 합계를 표시하려고합니다.

jsfiddle에 예제가 있지만 첫 번째 요소의 'routineTime'만 표시됩니다 ( ). 난 합계가 표시되고 각 요소에 대해 'routineTime'표시됩니다.

http://jsfiddle.net/n2learning/QfFQ9/9/

것은 어떤 도움을 주셔서 감사합니다!

DK

당신의 하락 이벤트 처리기에서

답변

0

드롭 가능한 섹션 내의 모든 드롭 된 요소에 대한 반복기를 구현해야합니다.

drop: function(event, ui) { 
     $('#info').find("h1").remove(); 

     var tmp, routineTime = [0, 0]; 
     $('.routineTime', $(this)).each (function() { 
      tmp = $(this).text().split(':'); 

      if ($.trim(tmp[0]) == '') tmp[0] = 0; 

      routineTime [0] += parseInt(tmp[0], 10); 
      routineTime [1] += parseInt(tmp[1], 10);    
     }); 

     routineTime [0] += parseInt(routineTime [1]/60); 
     routineTime [1] = routineTime[1]%60; 

     $('#calcTime').html(routineTime [0] + ':' + routineTime [1]); 

    } 

DEMO

addTime 로직은 자신의 복잡성을 가지고 ... 당신이 $.each

편집 내부에 구현해야하는 : 내가 그것을 어떻게 알려 .. 추가 addTime 로직 간다.

+0

와우 베가, 너는 그것을 찔렀다! 분 및 초와 관련하여 매우 직관적입니다. 고마워. 고마워. – Derek

0

, 당신은 오히려 막연한 선택기를 사용하는 것보다 대상 프레임에있는 모든 요소의 컬렉션을 반복 할 필요가있다.

var routineTime; 

$('#dropTargetframe .routineTime').each(function() { 

    //Example used here, use your own time library. 
    routineTime += Foo.GetTimeValue($(this).html()); 

}); 

$('#calcTime').text(routineTime); 
관련 문제