我有一个输入字段,可以在输入时打开建议列表(实时)。一个 JavaScript 函数,将结果作为下拉列表返回到 div。
此下拉列表中的每个项目都是触发操作的 href 链接。此操作也是一个 JavaScript 函数。
<ul>
<li><a href="#" onclick="getObject(\'index\')">Item name</a></li>
<li> ... other items ... </li>
....
</ul>
到目前为止一切正常,工作正常。
问题:单击某个项目后下拉列表保持打开状态。我搜索并尝试了几十个类似的解决方案,但我就是无法关闭它。
这是单击列表中的项目时触发的操作。传递值“q”。
(为了简化此处的问题,我添加了一个警报,而不是我将使用的实际函数。q)
if(typeof $=='undefined') {
function $(q) {
return(document.getElementById(q));
}
}
function getObject(q) {
alert(q);
/// close dropdown list here
};
非常感谢任何帮助!我几天来一直在搜索和尝试类似的代码。谢谢!
这是触发下拉列表的函数
function showSearch(str){
if (str.length==0){
document.getElementById("resultlist").innerHTML="";
document.getElementById("resultlist").style.border="0px";
return;
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("resultlist").innerHTML=xmlhttp.responseText;
document.getElementById("resultlist").style.border="1px solid #CCCCCC";
}
};
xmlhttp.open("GET","search.php?q="+str,true);
xmlhttp.send();
}
search.php 使用简单的 select 语句查找 mysql 表。
最佳答案
根据可用信息,我认为最好的解决方案是为 ul 设置一个 id,然后使用
$('#the_ul_id').hide();
隐藏它。
关于javascript - 单击链接触发操作后,下拉列表不会关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22770125/