javascript - 我如何在 Typescript 中进行自动完成?有 jquery.d.ts & jquery.autocomplete.d.ts 文件

标签 javascript jquery-ui jquery-mobile typescript jquery-autocomplete

您好,我正在尝试在 TypeScript 和 Jquery 中执行“自动完成”。

 this.$("#testAuto").autocomplete({
           source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ]
           });

但是编译器无法在任何 d.ts 文件中找到自动完成功能。

 **error TS2094: The property 'autocomplete does not exist on value of type 'JQuery'.**

我正在使用 Jquery v2。

请帮忙!!

最佳答案

您需要添加对 autocomplete.d.ts 文件的引用,例如:

/// <reference path="path/to/your/jquery.autocomplete.d.ts" />

尽管我怀疑您使用了错误的定义文件并且应该使用这个:https://github.com/borisyankov/DefinitelyTyped/blob/master/jqueryui/jqueryui.d.ts

它包含您需要的定义:

interface JQuery {
    // ...

  autocomplete(): JQuery;
  autocomplete(methodName: string): JQuery;
  autocomplete(methodName: 'close'): void;
  autocomplete(methodName: 'destroy'): void;
  autocomplete(methodName: 'disable'): void;
  autocomplete(methodName: 'enable'): void;
  autocomplete(methodName: 'search', value?: string): void;
  autocomplete(methodName: 'widget'): JQuery;
  autocomplete(options: JQueryUI.AutocompleteOptions): JQuery;
  autocomplete(optionLiteral: string, optionName: string): any;
  autocomplete(optionLiteral: string, options: JQueryUI.AutocompleteOptions): any;
  autocomplete(optionLiteral: string, optionName: string, optionValue: any): JQuery;

    // ... 
}

更新:快速有用的解决方案 由于您使用的是 Bootstrap 版本,删除对 jquery.autocomplete.d.ts 和 jqueuryUI 的引用。在您的代码之前添加以下代码块:

interface JQuery{
   autocomplete(config:{source:string[];});
}

关于javascript - 我如何在 Typescript 中进行自动完成?有 jquery.d.ts & jquery.autocomplete.d.ts 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17673615/

相关文章:

javascript - jqueryMobile datebox 和 webshim + checkValidity()

javascript - 使用异步调用 angular2 分配变量

javascript - Angular Form 验证器仅在文本框中输入时才起作用

javascript - 不同组的复选框在 jquery 中不起作用

javascript - 如何禁用 iOS 设备上的蓝色链接?

jquery - 在 jQuery Mobile 中,为什么这个弹出窗口不关闭?

javascript - Ramda R.pickBy R.identity 包括零 0

javascript - 包含基于其子元素之一的偏移量的可拖动元素

javascript - 通过 id jquery 将文本转换为链接

javascript - 可放置区域中的 jQuery 可放置区域