javascript - jQuery UI 自动完成停止工作

标签 javascript jquery jquery-ui jquery-ui-autocomplete

出于某种原因,jQuery UI 的自动完成已停止为我工作。我得到与 this webpage 中描述的相同的错误.

我已经从下面那个网页复制了查询的内容,希望这里有人能够回答。

谢谢!

我正在使用 Jquery UI Autocomplete 来获取姓名列表。但由于某种原因,我收到一个错误:

alt text

$('#repName').removeAttr('readonly').focus(function () {
                   $(this).val('');
               }).autocomplete({
                   source: function (request, response) {
                       tagId = $('#TagId').val();
                       $.ajax({
                           url: '/Developement/GetRepName', type: 'POST', dataType: 'json',
                           data: { searchText: request.term, maxResults: 10, tagId: tagId },
                          success: function (data) {
                              response($.map(data, function (item) {
                                  return {
                                      label: item.Name,
                                      value: item.RepId,
                                      id: item.RepId
                                  }
                              }))
                          }
                      })
                  },
                  select: function (event, ui) {
                      commissionAllicationModifications(ui.item.id, 0, 'A');
                  }
              });

我不知道为什么会这样。 我正在使用 Jquery UI 1.8.1。

如果能提供任何形式的帮助,我将不胜感激。

它来自 jQuery UI 1.8.1 文件,特别是 jQuery UI Autocomplete 1.8.1。

 .menu({
               focus: function (event, ui) {
                   var item = ui.item.data("item.autocomplete");
                   if (false !== self._trigger("focus", null, { item: item })) {
                       // use value to match what will end up in the input, if it was a key event
                       if (/^key/.test(event.originalEvent.type)) {
                           self.element.val(item.value);
                       }
                   }
               },
               selected: function (event, ui) {
                   var item = ui.item.data("item.autocomplete");
                   if (false !== self._trigger("select", event, { item: item })) {
                       self.element.val(item.value);
                   }
                   self.close(event);
                   // only trigger when focus was lost (click on menu)
                   var previous = self.previous;
                   if (self.element[0] !== doc.activeElement) {
                       self.element.focus();
                       self.previous = previous;
                   }
                   self.selectedItem = item;
               },
*                blur: function (event, ui) {
*                    if (self.menu.element.is(":visible")) {
*                        self.element.val(self.term);
*                   }
*               }
           })
           .zIndex(this.element.zIndex() + 1)
           // workaround for jQuery bug #5781 http://dev.jquery.com/ticket/5781
           .css({ top: 0, left: 0 })
           .hide()
           .data("menu");

虽然这很奇怪,因为它在另一个项目中完美运行。我注意到,当代码到达 [starred] 部分时,self.menu 部分未定义。另一件值得注意的事情是它甚至不发送请求。我在想这可能是我的专注功能。

.focus(function () {
     $(this).val('');

但事实并非如此。 谢谢你的帮助。

最佳答案

事实证明,我包含了一个定义 $.fn.menu 的插件,这造成了严重破坏。我将其更改为 $.fn.fg_menu,问题已解决。

关于javascript - jQuery UI 自动完成停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3113279/

相关文章:

javascript - 如何在自动完成文本区域的 Jquery 函数中将变量分配为 Id

javascript - .length 的事件监听器

jquery - 使用类的 jQuery 选择器加上另一个属性

javascript - 动态地将 CSS 应用于单个字符?

php - ul 形式不发送到 $_POST

jquery - 我怎样才能让用户在不打扰他们的情况下将持续时间输入到 HTML5 网络表单中?

javascript - JQuery 对话框中的 Bootstrap Pills

javascript - 如何访问所选元素?

javascript - 揭示模块模式和 webpack

javascript - 我需要为每列定义固定宽度还是可以自动计算?