2014-10-20 128 views
-1

我希望用户从下拉列表中选择他/她的国家,然后我想在文本字段中显示国家/地区代码以允许用户输入他/她的号码。根据用户选择从下拉列表中显示国家代码

这是国家名单与电话号码代码:

<select name="country"> 
    <option value="">Country...</option> 
    <option value="Afghanistan">Afghanistan</option> 
    <option value="Albania">Albania</option> 
    . 
    . 
    ETC till 
    <option value="Zimbabwe">Zimbabwe</option> 
    </select> 

<label for="phone">Phone Number</label>< 
<input id="phone" name="phone" placeholder="user's number " required="" type="number"> 

当用户选择沙特阿拉伯例如 我想要的文本字段,以显示966
我想过在使该国代码值选项

我发现这个类似情况here但我更喜欢做它作为第二选择

+0

@thatidiotguy我用链接中的一个,但我想改变它 – Lana 2014-10-20 16:49:26

回答

5

假设你正在使用jQuery:

<select name="country" id="country"> 
    <option value="">Country...</option> 
    <option value="966">Saudi Arabia</option> 
</select> 

$('#country').change(function() { 
    var countryCode = $(this).val(); 

    if (countryCode) { 
     $('#phone').val(countryCode); 
    } 
}); 

JSFiddle

+0

它工作,谢谢 – Lana 2014-10-20 16:56:27

+0

很高兴我能帮助:) – 2014-10-20 16:56:42

0

有几种方法可以做到这一点。海事组织越容易创建和填充一个JS对象,其中包含国家名称作为索引,国家代码作为价值。但头也可以使用AJAX ...

0

你可以使用jQuery的更改事件侦听器,所以每次更改选择输入文本也会改变。你可以拥有一个包含国家名称和代码的数组,每次更改都会从该数组中获取国家代码。

Click Here了解有关更改事件的信息。

Click Here有关关联数组的信息将帮助您创建可以使用的数组。

+0

将检查它非常感谢 – Lana 2014-10-20 16:52:31

0

@Taylor伯利森。您的代码看起来不错

<select name="country" id="country"> 
    <option value="">Country...</option> 
    <option value="966">Saudi Arabia</option> 
</select> 

$('#country').change(function() { 
    var countryCode = $(this).val(); 

    if (countryCode) { 
     $('#phone').val(countryCode); 
    } 
}); 

拉娜, 你应该在所有国家数据库饲料;在相同的数据库表中,您可以批量添加 国家/地区代码。当你调用db来获取所有信息,包括 用户界面的代码时,你应该可以使用上面的jquery代码来显示它。

相关问题