我在开发一个表单,并使用jQuery UI Autocomplete。当用户选择一个选项时,我想让选择内容弹出到父级<p>
标签附加的一个span中。然后我想要清除该字段而不是用所选内容填充。
我已经成功让出现了,但是我无法清除该字段。
如何取消jQuery UI Autocomplete的默认选择操作?
这是我的代码:
var availableTags = ["cheese", "milk", "dairy", "meat", "vegetables", "fruit", "grains"];
$("[id^=item-tag-]").autocomplete({
source: availableTags,
select: function(){
var newTag = $(this).val();
$(this).val("");
$(this).parent().append("<span>" + newTag + "<a href=\"#\">[x]</a> </span>");
}
});
仅仅使用$(this).val("");
是不起作用的。令人疯狂的是,如果我忽略自动完成并在用户输入逗号时执行操作,几乎完全相同的函数就可以正常工作。
$('[id^=item-tag-]').keyup(function(e) {
if(e.keyCode == 188) {
var newTag = $(this).val().slice(0,-1);
$(this).val('');
$(this).parent().append("<span>" + newTag + "<a href=\"#\">[x]</a> </span>");
}
});
真正的最终目的是使自动完成功能能够使用多个选择。如果有人有任何建议,欢迎提出。
$(this).val('');
)。 - Uri.val('')
。return false;
只会防止所选项目的文本出现在输入字段中。 - Ryan Lewis