【发布时间】:2017-10-20 20:52:05
【问题描述】:
我有一个 Bootstrap-Select 下拉菜单,在将某个字符串输入文本输入时,该下拉菜单会从另一个来源填充。一切正常,直到默认选择第一个选项,我想阻止这种情况,所以用户必须选择一个选项。
请在此处查看演示:https://jsfiddle.net/moxxah8r/
代码如下:
<style>
.form-control,
.selectpicker {
width: 220px;
}
#postalcode {
text-transform: uppercase;
margin-right: 10px;
}
</style>
<div style="padding: 10px;">
<div style="display: flex;">
<input name="postalcode" id="postalcode" type="text" class="form-control" autocomplete="postal-code">
<select name="address" id="address" class="selectpicker" disabled>
<option value="0" selected> </option>
</select>
</div>
</div>
<script>
var data = ["1 Street Name", "2 Street Name", "3 Street Name", "4 Street Name", "5 Street Name"];
$('#postalcode').on('input', function(e) {
var pattern = new RegExp('^[A-Z]{1,2}[0-9]{1,2} ?[0-9][A-Z]{2}$');
var text = $('#postalcode').val().toUpperCase();
if (pattern.test(text)) {
$('#address').empty();
$.each(data, function(i, value) {
$('#address').append($('<option>').text(value).attr('value', value));
});
$('#address option').prop('selected', false);
$('#address').prop('disabled', false);
$('#address').selectpicker('refresh');
} else {
$('#address').empty().append('<option value="0" selected> </option>');
$('#address').prop('disabled', true);
$('#address').selectpicker('refresh');
}
});
</script>
【问题讨论】:
-
只需添加一个空白选项,就像您在其他任何地方所做的那样
标签: jquery twitter-bootstrap bootstrap-select