1

私は CMS (Business Catalyst) を使用しており、ユーザーがチェックアウトするときにサイトの配送オプションを設定しています。ユーザーが郵便番号を入力した後に配送オプションを自動選択したいのですが、うまくいきません。これが私のコードです:

HTML

<input value="" id="shippingPostcode" name="shippingPostcode" class="discountcodeInput" onchange="RetrieveShippingCosts(3416418,188536);return false;">

注: HTML コードは変更できません。これはシステム生成です。

JS

var $radios = $('input:radio');
$('#shippingPostcode').change(function() {
   $radios.trigger('click');
});

郵便番号が入力onchangeされ、HTML で発生するのは、USPS API を使用して送料を取得していることです。上記の HTML の onchange イベントが表示されるまでラジオが作成されないと考えて、これを機能させるために遅延を追加できます。私はこのコードを試みました:

var $radios = $('input:radio');
$('#shippingPostcode').change(function() {
   $radios/dealy(1000).trigger('click');
});

しかし、それもうまくいきませんでした。HTML onchange イベントが発生した後にラジオ ボタンを選択するにはどうすればよいですか?

4

1 に答える 1

1

jQuery 遅延を使用する代わりに、js setTimeout を試してください:

var $radios = $('input:radio');
$('#shippingPostcode').change(function () {
    setTimeout(function () {
        $radios.prop('checked', true);
    }, 1000);
});
于 2013-05-11T23:25:10.480 に答える