0

jQueryを使用して、「ドロップ」されたときにdivクラスの値をキャプチャして表示しようとしています。たとえば、この特定の要素がドロップされたときに「01:20」を表示したいとします。div class='routineTime'>01:20 /div>

さらに、これらの削除された要素の現在の合計を合計して表示したいと考えています。

jsfiddle に例がありますが、ドロップされた最初の要素の「routineTime」のみを表示しています。ドロップされた各要素の「routineTime」を合計して表示する必要があります。

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

どんな助けにも感謝します!

DK

4

2 に答える 2

0

ドロップ イベント ハンドラーでは、あいまいなセレクターを使用するのではなく、ターゲット フレーム内のすべての要素のコレクションを繰り返すだけで済みます。

var routineTime;

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

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

});

$('#calcTime').text(routineTime);
于 2012-05-01T22:05:48.417 に答える
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]);

    }

デモ

addTime ロジックには独自の複雑さがあります...内部で実装する必要があります$.each

編集: addTime ロジックを追加しました..どうなるか教えてください。

于 2012-05-01T22:06:03.190 に答える