jquery для intlTelInput не может добавить прослушиватель событий

Пытаюсь сделать что-то похожее на выпадающий список слушателей кода страны, но с текстовым полем, которое должно заполняться кодом страны (чтобы впоследствии я мог использовать значение в коде PHP).

Добавление прослушивателя событий не работает:

<script>

$(document).ready(function(){

    $("#mobile").intlTelInput({
   onlyCountries: ["au","ca","us","nz","gb"],
     utilsScript: "<?php echo get_template_directory_uri(); ?>/intl-tel-input/build/js/utils.js",
     geoIpLookup: function(callback) {
     $.get("https://ipinfo.io", function() {}, "jsonp").always(function(resp) {
       var countryCode = (resp && resp.country) ? resp.country : "";
       callback(countryCode);
     });
  },
     initialCountry: "auto"
    }).addEventListener('countrychange', function() {
   $("#country_code").value = "changed"
  });;

    $('#verify').attr('disabled','disabled');
    $("#mobile").on('input', function() {
     if ($("#mobile").intlTelInput("isValidNumber")) {
   $('#verify').removeAttr('disabled');
   $("#country_code").innerHTML = "changed"
     } else {
      $('#verify').attr('disabled','disabled');
     }

    });

    $("#register-form").submit(function() {
  $("#mobile").val($("#mobile").intlTelInput("getNumber"));

 });
});
</script>

0 ответов

Возможно, прошли месяцы с тех пор, как вы задали этот вопрос, решение ниже.

Вы неправильно поняли addEventListener. Это может быть функция любого другогоjavascriptфреймворк. Но нетjQuery's

После инициализации используйте приведенный ниже код в качестве сценария. Вы можете делать то, что хотите, сcountryData.dialCode который дает вам код страны.

jQuery("#mobile").on('countrychange', function(e, countryData){
    console.log(countryData.dialCode);
})

Ниже образец countryData который intlTelInput возвращается.

{areaCodes: null, dialCode: "44", iso2: "gb", name: "United Kingdom", priority: 0}
Другие вопросы по тегам