尝试执行类似于国家/地区代码侦听器的操作,但下拉菜单带有一个文本框,该文本框应使用国家/地区代码填充(以便以后可以在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 :(得分: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}