0
function startCampaign(index, campaign_id) {
    var btn = $('#toggleStateBtn' + index);
    btn.html('<i class="icofont-pause"></i>');
    btn.removeClass('btn-success');
    btn.addClass('btn-warning');
    btn.attr('title', 'Pause this campaign');
    btn.width('9px');

    // Start campaign
    $.ajax({
        url:    '/campaign/startCampaign/' + campaign_id,
        type:   'POST',
        success: function(data){
            // Reflect the new state in status column
            btn.html(data);
        }
    });
}

function pauseCampaign(index, campaign_id) {
    var btn = $('#toggleStateBtn' + index);
    btn.html('<i class="icofont-play"></i>');
    btn.removeClass('btn-warning');
    btn.addClass('btn-success');
    btn.attr('title', 'Run this campaign');
    btn.width('9px');

    // Pause campaign
    $.ajax({
        url:    '/campaign/pauseCampaign/' + campaign_id,
        type:   'POST',
        success: function(data){
            // Reflect the new state in status column
            btn.html(data);
        }
    });
}

何らかの理由で、これは奇妙な動作を引き起こしています。$('#toggleStateBtn' + index)すべての場所でbtn を置き換えると、すべて正常に動作します。

私の推測では、たとえば、最初に startCampaign() を呼び出してから pauseCampaign() を呼び出した場合、古い btn 参照が新しい参照に変更されます。確信はないけど。

アイデア?

4

1 に答える 1

1

私がばかであることを気にしないでください。btn.html(data) の btn は、実際には別のコントロールです。無意識に代用していました。今朝は追加のカフェインが必要なようです。

于 2013-06-11T15:09:01.650 に答える