選択ボックスと、選択ボックス内のリストを検索するためのテキスト ボックスがあります。選択ボックスは、PHP を使用してデータベースから取り込まれています。ここで達成しようとしているのは、テキスト フィールドをクリアすることです。選択ボックスが更新されます。そのためには、ページ全体をリロードする必要があります。これは、選択ボックスを検索するために使用する小さなスクリプトです。
function filterSelectBox(filterButton) {
var searchValue = document.getElementById('selectFilter').value.toLowerCase();
var selectField = document.getElementById("domainID");
var optionsLength = selectField.options.length;
for(var i = 0; i < optionsLength; i++) {
if(selectField.options[i].innerHTML.toLowerCase().indexOf(searchValue) >= 0) {
selectField.options[i].style.display = 'block';
} else {
selectField.options[i].style.display = 'none';
}
}
}
コードに関連付けられた HTML 要素を次に示します。
<div class="search_domains" id="search_domains">
<input type="text" id="selectFilter" name="selectFilter" />
<input type="button" id="filterButton" value="Filter" onClick="filterSelectBox(this)"/>
</div>
これが、選択ボックスにデータを入力する方法です。
<select name="domainID" id="domainID" size="15" style="width:175">
<option>Select a Domain</option>
<? foreach ($domains as $row) {
?>
<option value="<?=$row -> id ?>"><?=$row -> domain ?></option>
<? } ?>
</select>