jquery ui autocomplete输入要添加到列表的键

时间:2012-09-01 15:10:58

标签: jquery-ui jquery-ui-autocomplete

我有一个类似于此http://jqueryui.com/demos/autocomplete/#multiple的输入框和添加按钮。我想在输入时将添加到列表中的逗号分隔的所有值添加到列表中。我无法做到这一点,因为带有输入的按键似乎与自动完成的select事件冲突。问题是用户只能添加一个项目。我希望用户添加多个项目,然后按回车键同时将它们添加到列表中。

仅当关闭自动填充的建议列表时才会发生回车键事件。

2 个答案:

答案 0 :(得分:3)

您可以使用autocomplete的{​​{3}}和open事件来跟踪建议列表当前是否已打开(将此信息存储在某处 - 在下面的示例中,在"selectVisible" close):

$( "#tags" )
    .bind( "keydown", function( event ) {
        if ( event.keyCode === $.ui.keyCode.ENTER && !$(this).data("selectVisible") ) {
            // Your code
        }
        ...
    })
    .autocomplete({
        open: function() {
            $(this).data("selectVisible", true);
        },
        close: function() {
            $(this).data("selectVisible", false);
        },
        ...
    });

data的工作示例。

答案 1 :(得分:2)

我之前使用过jQuery Multiselect小部件非常成功,我相信用户可以选择多个选项更直观。

它还可以开箱即用地处理Enter键。

http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/