我希望用户从下拉列表中选择他/她的国家/地区,然后我希望在文本字段中显示国家/地区代码,以便用户键入他/她的号码。
这是带有电话号码代码的国家/地区列表:
<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
我考虑过将国家代码作为选项中的值
我在这里发现了类似的情况,但我更喜欢将其作为第二个选项
假设您使用的是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
有几种方法可以做到这一点。IMO越容易创建和填充一个JS对象,该对象包含国家名称作为索引,国家代码作为值。但是tou也可以使用ajax。。。
您可以使用jquery的更改事件侦听器,因此每次更改选择时,输入中的文本也会更改。你可以有一个既有国家名称又有代码的数组,每次发生变化时,它都会从该数组中获得国家代码。
单击此处获取有关更改事件的信息。
单击此处获取有关关联阵列的信息,这些信息将帮助您创建可以使用的阵列。
@Taylor Burleson。你的代码看起来不错
<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);
}
});
拉娜,你应该在所有国家的数据库饲料;在同一个数据库表中,可以批量添加国家代码。当您调用数据库以获取所有信息时,包括用户界面,您应该能够使用上面的jquery代码来显示它。