javascript - 单击链接触发操作后,下拉列表不会关闭

标签 javascript jquery drop-down-menu

我有一个输入字段,可以在输入时打开建议列表(实时)。一个 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/

相关文章:

javascript - Ember Controller 依赖解析在直接链接上不起作用?

jquery - Knockout.Js 无法检测以编程方式更改的复选框状态

javascript - 根据div id切换图像CSS

javascript - Kendo UI DropDownList 选择第一项而不进行交互

Javascript 代码无法在我的表单上运行

javascript - 在单个网页上一次显示调查一个语句的有效方法

jQueryUI 可排序目标元素 ID

python - 如何在单个 Tkinter 窗口中添加顺序下拉菜单?

Javascript鼠标位置

javascript - setAttribute ("transform",...) 不适用于 <symbol> 元素