Javascript Jquery自动完成对象传递
我已经拼凑了一个自动完成原型,它将选定的文本添加为一个跨距,效果很好。我想做的是从别处调用这段代码,所以我有:Javascript Jquery自动完成对象传递,javascript,jquery,Javascript,Jquery,我已经拼凑了一个自动完成原型,它将选定的文本添加为一个跨距,效果很好。我想做的是从别处调用这段代码,所以我有: $("#searchBox").autocomplete({ var testSourceData = ["First thing", "Second thing", "Third thing"]; source: testSourceData, select: function(e, ui) { //create formatted searchTerm
$("#searchBox").autocomplete({
var testSourceData = ["First thing", "Second thing", "Third thing"];
source: testSourceData,
select: function(e, ui) {
//create formatted searchTerm
addSearchTerm(e, ui);
$(this).val('');
return false;
},
...
});
function addSearchTerm(e, ui) {
var searchTerm = ui.item.value;
var span = $("<span>").text(searchTerm);
var a = $("<a>").addClass("remove").attr({
href: "javascript:",
title: "Remove " + searchTerm
}).text("x").appendTo(span);
//add searchTerm to searchBox
span.insertBefore("#searchBox");
}
但我得到了一个错误:
未捕获的TypeError:无法读取未定义的属性“值”`
很明显,我传递的数据类型是错误的。我以为$(“#随便什么”)
引用了一个对象,但我想我错了
任何想法或建议都会很好,谢谢。试试这个触发选择事件
$("#searchBox").keydown(function (event) {
if (event.keyCode == 13) {
$(this).data('ui-autocomplete')._trigger('select', 'autocompleteselect', {item:{value:$(this).val()}});
}
});
是的,成功了,谢谢!我想我真的需要读一读JQuery是如何引用事物的,谢谢!
$("#searchBox").keydown(function (event) {
if (event.keyCode == 13) {
$(this).data('ui-autocomplete')._trigger('select', 'autocompleteselect', {item:{value:$(this).val()}});
}
});