Триггер вызывает бесконечное количество раз в поведении Drupal

Я хочу удалить все опции, кроме только одной, в поле выбора и запустить обмен на основе этой последней опции. Я вижу триггерные звонки бесконечное количество раз. Ниже приведены мои коды:

<select id="payment-method-pmid" name="payment_method[pmid]" class="form-select required ajax-processed">
<option value="select">- Select -</option>
<option value="1">Collect on delivery</option>
<option value="3">PayPal Instant Payment Notification</option>
</select>

(function ($) {
    Drupal.behaviors.siteModule = {
      attach: function (context, settings) {
            $('#payment-method-pmid').find('option').not(':last').remove();
            $('#payment-method-pmid').val(3).trigger('change');
      }
    };
})(jQuery);

1 ответ

Я переписал свои коды, как показано ниже, и это сделано.

(function ($) {
    Drupal.behaviors.siteModule = {
      attach: function (context, settings) {
            if(document.readyState == 'interactive'){
                $('#payment-method-pmid').val(3).trigger('change');
            } 
        $('#payment-method-pmid').find('option').not(':last').remove();
      }
    };
})(jQuery);
Другие вопросы по тегам