javascript - 根据文本字段的 11 位数字中的前 2 位选择下拉值

标签 javascript jquery

我有一个接受 11 位增值税号的文本字段,其中前两位数字代表州,后跟任意 9 位数字(例如:09123456789,其中 09 代表印度北方邦,同样如此)。

                  <label class="flabel">VAT Registration Number</label>
                  <input type="text" class="form-element" name="vat" id="vat1" placeholder="Please Enter 11 Digits VAT registration number" required data-bv-notempty-message="This is required" pattern="^(0[1-9]|1[0-9]|2[0-9]|3[0-5])[0-9]{9}$" data-bv-regexp-message="Please enter a valid VAT number" >

有一个“状态”下拉列表,其中包含状态名称和选项值,如下所示:

                        <select class="form-element" name="address" id="state" required data-bv-notempty-message="This is required">
                        <option value="">Please select</option>
                            <option value="35">Andaman and Nicobar Islands</option>
                            <option value="28">Andhra Pradesh</option>
                            <option value="04">Chandigarh</option>
                            <option value="22">Chhattisgarh</option>
                            <option value="26">Dadra and Nagar Haveli</option>
                            <option value="25">Daman and Diu</option>
                            <option value="07">Delhi (NCT)</option>
                            <option value="30">Goa</option>
                            <option value="24">Gujarat</option>
                            <option value="06">Haryana</option>
                            <option value="02">Himachal Pradesh</option>
                            <option value="01">Jammu and Kashmir</option>
                            <option value="29">Karnataka</option>
                            <option value="31">Lakshadweep</option>
                            <option value="23">Madhya Pradesh</option>
                            <option value="27">Maharashtra</option>
                            <option value="21">Orissa</option>
                            <option value="34">Puducherry</option>
                            <option value="03">Punjab</option>
                            <option value="08">Rajasthan</option>
                            <option value="11">Sikkim</option>
                            <option value="33">Tamil Nadu</option>
                            <option value="Telangana">Telangana</option>
                            <option value="05">Uttarakhand</option>
                            <option value="09">Uttar Pradesh</option>
                            <option value="19">West Bengal</option>
                  </select>

如果有人在增值税注册号文本框中输入 11 位数字,则需要根据增值税号的前两位数字在“州”下拉列表中选择相应的州。

我尝试过这个:

<script type="text/javascript">
     $(document).ready(function (){
        $('#vat1').change(function(){
             $('#state').val($(this).val());
        });

    });
</script>

当我输入前两位数字并按 TAB 键时,状态会被选中,但当我输入 11 位数字时,状态值会消失。

最佳答案

试试这个:

$(document).ready(function(){
    $("#vat1").change(function(){
      vat_id = $("#vat1").val().substr(0,2);
        if(vat_id){
        state_id = $("#state option[value =" + vat_id + "]").val();
        $("#state").val(state_id);
        }
    });
});

关于javascript - 根据文本字段的 11 位数字中的前 2 位选择下拉值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33712358/

相关文章:

javascript - socket.io/socket.io.js 位置在哪里?

jQuery onkeyup 方法未定义

javascript - 尝试从数据属性获取 ID 时未定义

javascript - 使用 CSS 或 jQuery 搜索并突出显示文本背景

javascript - 如何在 JS 中判断某个函数/方法是否存在于 IE7 中?

javascript - 将 Jquery 对象附加到 HTML 元素中

javascript - 无限水平滚动 Div

javascript - Underscore 的类似函数 : _. 包含 vs. _.some 和 _.map vs _.each

javascript - asp.net 重定向到新窗口并传递值

javascript - $(...).modal 不是函数 jquery.min.js