如果打开按钮,如何关闭自动完成下拉列表

时间:2012-12-01 20:49:28

标签: javascript jquery-ui jquery-ui-autocomplete

由于未知原因,该按钮不会关闭jquery ui combobox。

重现此行为的步骤:

  1. 在IE9中打开http://jqueryui.com/autocomplete/#combobox

  2. 选择右侧的组合框。

  3. 单击下拉列表[▼]按钮将其打开。

  4. 再次点击下拉列表[▼]按钮。

  5. 观察到的:

      

    下拉菜单仍然打开

    预期:

      

    下拉菜单应该关闭。

    代码包含:

    if (input.autocomplete("widget").is(':visible')) {
        input.autocomplete('close');
        return false;
    }
    

    但由于未知原因input.autocomplete("widget").is(':visible')总是错误的。

    如果单击按钮并打开下拉列表,如何关闭下拉列表?

2 个答案:

答案 0 :(得分:1)

添加变量:

var isVisible = false;

并在$( "<a>" )的点击事件功能中添加此代码:

if(isVisible == true)
{
    input.autocomplete( "close" );
    input.blur();
    isVisible = false;
}
else
    isVisible = true;

答案 1 :(得分:0)

Javascript 替代方案:

 document.getElementById('my_autocomplete_element').blur();