我正在使用一个滑动菜单(选择/对象 html 之一),它是通过使用 jsp 页面从数据库中获取数据而动态生成的。
我还有一个输入文本字段,我可以在其中从滑动菜单中搜索内容。我想写一个包含在我的菜单中的词的词根,我的菜单必须“调整大小”显示我写过的所有带有词根的项目,只有那些项目。
我不能使用服务器端操作(比如通过 post 发送数据),但我需要解决这个客户端(因为我需要立即得到这个结果)。
我实际上已经使用 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)" />
每次按键时都会调用searhSelect 函数(当用户实际释放键时),并将过滤#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));
}
}
}