特定の文字列をテキスト入力に入力すると、別のソースから読み込まれるブートストラップ選択ドロップダウンがあります。すべては、デフォルトで最初のオプションが選択されているポイントまで動作し、ユーザーがオプションを選択する必要があるように、これを防止したいと考えています。ブートストラップからオプションを選択解除する - ドロップダウンコンポーネントを選択
こちらのデモをご覧ください。次のように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>
あなたがどこにいても空白のオプションを追加するだけです – billyonecan