国际电话输入与国家/地区同步插件无法正常工作

时间:2017-01-16 06:50:12

标签: javascript jquery asp.net intl-tel-input

我使用intlTelInput作为电话& asp.net webform网站上的移动领域。

目前,我将其用作此example

中显示的基本插件
var input = $("#ContentPlaceHolder1_txtPhone"), output = $("#output");
            var country = $("#ContentPlaceHolder1_ddCountry");

            input.intlTelInput({
                preferredCountries: ['ae'],
                autoHideDialCode: true,
                nationalMode: false,
                utilsScript: "../../Scripts/phone/js/utils.js" // just for formatting/placeholders etc
            });

现在我正在尝试将其与国家/地区下拉列表同步,以便当用户选择国家/地区时,它会自动选择电话字段&网络表单上的移动字段与电话领域的国家。

我试图使用这个例子,但它无法打破插件或它的工作

http://intl-tel-input.com/node_modules/intl-tel-input/examples/gen/country-sync.html

我尝试的代码

var countryData = $.fn.intlTelInput.getCountryData(),
                telInput = $("#ContentPlaceHolder1_txtPhone"),
                addressDropdown = $("#ContentPlaceHolder1_ddCountry");

            // set it's initial value
            //var initialCountry = telInput.intlTelInput("getSelectedCountryData").iso2;
            //addressDropdown.val(initialCountry);
            // listen to the telephone input for changes
            telInput.on("countrychange", function (e, countryData) {
                addressDropdown.val(countryData.iso2);
            });
            // listen to the address dropdown for changes
            addressDropdown.change(function () {
                telInput.intlTelInput("setCountry", $(this).val());
            });

我在codepen http://codepen.io/anon/pen/wgzppg上放置了代码。

我不确定我在哪里做错了。我没有运气就尝试了一些事情。

我从数据库表而不是插件中提取国家/地区下拉列表的数据,因此可能会在某处导致问题。但国家代码也匹配。

1 个答案:

答案 0 :(得分:0)

我解决了问题似乎与countryCode一样,在UpperCase中获取countryCode并将其更改为小写似乎已修复问题

工作样本http://codepen.io/anon/pen/BpLJEZ?editors=1010

<div class="col-xs-12 col-sm-12 col-md-6">
  <label class="cf-label">Country*</label>
  <select name="ctl00$ContentPlaceHolder1$ddCountry" id="ContentPlaceHolder1_ddCountry" class="form-control ddCountry styled-select">
    <option value="af">Afghanistan</option>
    <option value="ax">Åland Islands</option>
    <option value="al">Albania</option>
    <option value="dz">Algeria</option>
    <option value="as">American Samoa</option>
    <option value="ad">Andorra</option>
    <option value="ao">Angola</option>
    <option value="ai">Anguilla</option>
    <option value="aq">Antarctica</option>
    <option value="ag">Antigua And Barbuda</option>
    <option value="ar">Argentina</option>
    <option value="am">Armenia</option>
    <option value="aw">Aruba</option>
    <option value="au">Australia</option>
    <option value="at">Austria</option>
    <option value="az">Azerbaijan</option>
    <option value="bs">Bahamas</option>
    <option value="bh">Bahrain</option>
    <option value="bd">Bangladesh</option>
</select>
  <span data-val-controltovalidate="ContentPlaceHolder1_ddCountry" data-val-errormessage="*" data-val-display="Dynamic" data-val-validationgroup="vgDonationtForm" id="ContentPlaceHolder1_rfCountry" class="CssValidator" data-val="true" data-val-evaluationfunction="RequiredFieldValidatorEvaluateIsValid"
    data-val-initialvalue="-- Select --" style="display:none;">*</span>
</div>

<div class="col-xs-12 col-sm-12 col-md-6">
  <label class="label">Mobile Number *</label>
<input name="ctl00$ContentPlaceHolder1$txtPhone" id="ContentPlaceHolder1_txtPhone" class="rg-txt rg-phone-txt form-control cf-input" autocomplete="off" placeholder="+971 50 123 4567" type="text">
</div>