1

私は、magento ショップの b2b バージョンに取り組んでいます。そのため、顧客には製品と入力フィールドのリストのみが表示されます。入力フィールドが変更されると、カートを更新する ajax 呼び出しが設定されます。

ここで、カートのサイドバーに、ajax 呼び出しが実行されている限りカートが更新されるというヒントを表示したいと考えています。

これは ajax 呼び出しです。

$.ajax
({
    url: url,
    type: 'POST',
    data: qty,
    success: function(response)
    {
        $('.block-cart').replaceWith($('.block-cart', response));
    }
});

カートのサイドバーには、ajax 呼び出しの実行中に display: block に設定される div があります。

私は次のコードでこれを行います:

$(document).ajaxStart(function()
{
    $('.hint').css({'display':'block'});
});

$(document).ajaxStop(function()
{
    $('.hint').css({'display':'none'});
});

しかし、それは信頼できるものではありません。divが表示される場合と表示されない場合があります...

あなたが私の問題を理解してくれることを願っています;)

ありがとう


アップデート:

私は動作する開始動作を持っています。他の if ステートメントに div がありません。今では動作します。しかし、ajaxStopは早い段階で解雇されます。一部の投稿が実行されている場合でも、ヒントは消えます。私はajaxComplete他の効果なしで試しました。

最新情報をお届けします。


解決済み

やあ。

私は自分に合った解決策を見つけました。それをあなたと共有したいと思います。

ajaxをキューに入れただけです。これがコードです。

$(document).queue(function()
{
    $('.hint').css({'display':'block'});

    $.ajax
    ({
        url: url,
        type: 'POST',
        data: qty,
        success: function(response)
        {
            $('.block-cart').replaceWith($('.block-cart', response));
            $(document).dequeue();
        }
    });
});

多分これは他の誰かを助けるでしょう:)これまでありがとう、

スモ

4

0 に答える 0