0

我想删除除了选择框中的一个选项之外的所有选项,并根据最后一个选项触发 onchange。我看到触发器无限次调用。以下是我的代码:

<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);
4

1 回答 1

0

我已经重写了我的代码,如下所示并完成了。

(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);
于 2019-08-01T11:01:28.607 回答