jspページを使用して、DBからデータを取得することによって動的に生成されるスライドメニュー(選択/オブジェクトhtmlメニュー)を使用しています。
また、スライド メニューから検索できる入力テキスト フィールドもあります。メニューに含まれる単語の語根を書きたいのですが、メニューを「サイズ変更」して、書き込んだ語根を持つすべてのアイテムとそれらのアイテムのみを表示する必要があります。
サーバー側の操作 (ポスト経由でデータを送信するなど) は使用できませんが、このクライアント側を解決する必要があります (この結果がすぐに必要になるため)。
実際に JavaScript を使用してこの問題を解決しましたが、IE 8 を使用する必要があるため、このソリューションにはパフォーマンス上の問題があります。
JQueryまたはAjaxを使用した同様のソリューションはありますか?
ここに私のコードに似たものがあります:
HTML:
<select multiple id="testSelect">
<option>test</option>
<option>temp</option>
<option>cast</option>
<option>dest</option>
<option>inst</option>
</select>
<input type="text" value="" onkeyup="searhSelect(this)" />
search 関数は、キーを押すたびに (ユーザーが実際にキーを離したときに) 呼び出され、#testSelect オブジェクトをフィルタリングします。
JS:
var optionsList;
function searhSelect(el) {
var select = document.getElementById('testSelect');
if(!optionsList) {
optionsList = select.cloneNode(true); //copy select to a variable for future use
}
select.innerHTML = "";//remove all options.
for(var i =0; i < optionsList.options.length; i++) {
var opt = optionsList.options[i];
if(opt.innerHTML.indexOf(el.value) != -1) {
select.appendChild(opt.cloneNode(true));
}
}
}