我有一个类似于此http://jqueryui.com/demos/autocomplete/#multiple的输入框和添加按钮。我想在输入时将添加到列表中的逗号分隔的所有值添加到列表中。我无法做到这一点,因为带有输入的按键似乎与自动完成的select
事件冲突。问题是用户只能添加一个项目。我希望用户添加多个项目,然后按回车键同时将它们添加到列表中。
仅当关闭自动填充的建议列表时才会发生回车键事件。
答案 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/