0

我正在尝试添加一个人的国籍和电话号码。所以我有一个带有国家名称的下拉列表和一个用于输入电话号码的输入框。当一个人选择国籍(国家)时,下一个输入电话应该自动显示国家代码。所以我必须在数据库中存储这个人的国籍和电话号码。

        <div class="form-group">
        <label>Nationality</label>

        <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>
       </div>

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

我需要将它们存储在数据库表中并检索还是有一种简单的方法可以做到这一点?

4

2 回答 2

1

您可以在选项标签中添加一些数据并将其与 jquery 一起使用:

<option value="Zimbabwe" data-countrycode="+888">Zimbabwe</option>

和 jQuery:

<script>
$( "select[name=country]" ).change(function() {
    $('input#phone').val($('option:selected', this).data('countrycode'));
});
</script>
于 2021-06-30T17:52:25.140 回答
0

You can have the value="+nnn" or you can have one object you create the dropdown from or you can ajax the value from the backend. Many many ways to skin that cat. No definitive answer

Here I add a data attribute on the option and can use the value or both

$("#areaCode").on("change", function() {
  $('#dialCode').val($('option:selected', this).data('dialcode'));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="areaCode">
  <option value="" data-dialcode="">Please select</option>
  <option value="Austria" data-dialcode="+43">Austria</option>
  <option value="Zimbabwe" data-dialcode="+263">Zimbabwe</option>
</select>

<input type="text" id="dialCode"/>

于 2021-06-30T18:01:45.677 回答