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()}});
  }
});