Materialize.css自动完成不使用Polymer

时间:2016-07-27 19:38:38

标签: javascript jquery polymer polymer-1.0 materialize

我正在尝试将Materialize.css autocomplete用于我的Polymer项目。

控制台日志:

Uncaught TypeError: $(...).autocomplete is not a function

我的代码:

<div class="input-field">
    <input type="text" id="assemp" class="autocomplete" value="{{emps::input}}">
    <label for="assemp">Assigned Employee(s)</label>
</div>

脚本:

attached : function() {
            $('input.autocomplete').autocomplete({
                data: {
                    "Apple": null,
                    "Microsoft": null,
                    "Google": 'http://placehold.it/250x250'
                }
            });
        }

6 个答案:

答案 0 :(得分:5)

 $(document).ready(function () {$('input.autocomplete').autocomplete({
            data: {
                "Apple": null,
                "Microsoft": null,
                "Google": null
            }});});

答案 1 :(得分:1)

我遇到了类似的问题。如果我在jquery中执行代码,它似乎可以工作。

$(() => {
  $(...).autocomplete();
});

答案 2 :(得分:0)

确保您要加载最新的materialize.js文件。我有一个较旧的版本,自动完成插件不在JS中,并且它抛出相同的错误。我更新后离开了。但是我仍然无法使自动完成工作。 :(

答案 3 :(得分:0)

我的解决方法:

复制功能:

/**************************
* Auto complete plugin  *
*************************/

$.fn.autocomplete = function (options) {
// Defaults
var defaults = {
    data: {}
};

options = $.extend(default

(...)

}); // End of $(document).ready (1)

/*******************
 *  Select Plugin  *
 ******************/
来自materialize.js的

(行号~3000) 要么 源文件/js/forms.js(行号~281)

删除最后一行:

}); // End of $(document).ready (1) 

关闭功能在开始之前开始了更多...

并将其手动填入您的javascript函数体

$(document).ready(function() { 
//paste it here
})

答案 4 :(得分:0)

我的问题通过将我的jQuery版本降级到V2.1.4来解决,因为Materialise CSS使用。

答案 5 :(得分:0)

是的,就像前面提到的Wesley Williams`一样,Materialize JS文件的版本很重要!我有这个版本为 0.97.3 的js文件,但我永远无法获得一个简单的标准示例来工作。

最后,事实证明该版本不支持 autocomplete 功能,因此我不得不升级到最新版本,并且运行良好。