在jquery drop事件中获取div类的值

时间:2012-05-01 21:56:13

标签: javascript jquery

使用jQuery,我试图在“删除”时捕获并显示div类的值。 例如,我想在删除此特定元素时显示“01:20”。 div class ='routineTime'> 01:20 / div>

另外,我想总结并显示这些被删除元素的总计。

我在jsfiddle中有一个例子,但它只显示第一个元素的'routineTime' 被丢弃了。我需要对每个被删除的元素求和并显示'routineTime'。

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

感谢任何帮助!

DK

2 个答案:

答案 0 :(得分:0)

在drop事件处理程序中,您只需要迭代目标框架中所有元素的集合,而不是使用模糊选择器。

var routineTime;

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

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

});

$('#calcTime').text(routineTime);

答案 1 :(得分:0)

您需要为dropable部分中的所有已删除元素实现迭代器。

    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逻辑..让我知道它是怎么回事。