jQuery自动完成选择功能未触发

问题描述 投票:1回答:2

我正在围绕jQuery自动完成编写可重复使用的包装器,由于某种原因,我无法使select回调起作用。

给出下面的代码,绝不会调用select()函数。我搞砸了什么?使用jQuery自动完成小部件指定select回调时,是否存在一些隐藏的约束?

注意:这只是半写的。只是想让select工作。

// Note: 'input' is a jQuery object.
name.space.ThingSuggest = function(input) {
  this.input = input;

  // Set up an autocomplete widget on the given input form.
  this.input.autocomplete({
    source: name.space.ThingSuggest.SOURCE_URL,
    delay: 500,
    select: this.select.bind(this)
  });

  this.input.autocomplete('instance')._renderItem = name.space.ThingSuggest.renderItem;
};

name.space.ThingSuggest.SOURCE_URL = // some URL

name.space.ThingSuggest.prototype.select = function(event, ui) {
  this.input.val(ui.item.label);

  return false;
};

name.space.ThingSuggest.renderItem = function(ul, item) {
  return $('<li>', { value: item.value })
      .append(item.label + ' <span>@' + item.username + '</span>')
      .appendTo(ul);
};

要清除],自动补全和_renderItem正常工作。仅触发suggest回调。

我一直盯着这种方式太久了...所以就我所知,这是一个愚蠢的不匹配的花括号之类的东西。

提前感谢!

我正在围绕jQuery自动完成编写可重复使用的包装器,由于某种原因,我无法使select回调起作用。给定下面的代码,绝不会调用select()函数。我有什么...

javascript jquery jquery-autocomplete
2个回答
0
投票

我混合了selectfocus事件。因为我真的很傻。


0
投票

我不知道该在哪里发布,它可能与帖子无关,但是我想引起您的注意,我使用的是错误版本的jquery autocomplete,不是jquery ui,而是npm软件包中与jquery ui无关的版本,因此,如果您没有触发“ select”事件,请尝试从jquery网站ui下载版本。

© www.soinside.com 2019 - 2024. All rights reserved.