Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获类型错误:初始化Materialize autocomplete时this.dropdownEl为空_Javascript_Materialize - Fatal编程技术网

Javascript 未捕获类型错误:初始化Materialize autocomplete时this.dropdownEl为空

Javascript 未捕获类型错误:初始化Materialize autocomplete时this.dropdownEl为空,javascript,materialize,Javascript,Materialize,我使用MaterializeV1及其自动完成。我以前用过。我重新使用了代码,但是我得到了未捕获的TypeError:this.dropdownEl为null,我在网上没有找到任何关于此错误的有用信息。我试图简化初始化和调试,但没有任何效果 嗯,Chrome抛出此错误uncaughttypeerror:无法将属性“tabIndex”设置为null Uncaught TypeError: this.dropdownEl is null value https://cdnjs.cloudflare.c

我使用MaterializeV1及其自动完成。我以前用过。我重新使用了代码,但是我得到了
未捕获的TypeError:this.dropdownEl为null
,我在网上没有找到任何关于此错误的有用信息。我试图简化初始化和调试,但没有任何效果

嗯,Chrome抛出此错误
uncaughttypeerror:无法将属性“tabIndex”设置为null

Uncaught TypeError: this.dropdownEl is null
value https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js:6
n https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js:6
value https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js:6
value https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js:6
value https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js:6
s https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js:6
value https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js:6
value https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js:6
setAutocomplete https://n-mh3s4ggu24p7gzei6l4cpyqn5d5354dk4egvm7y-0lu-script.googleusercontent.com/userCodeAppPanel:159
cf https://n-mh3s4ggu24p7gzei6l4cpyqn5d5354dk4egvm7y-0lu-script.googleusercontent.com/static/macros/client/js/3342396747-mae_html_user_bin_i18n_mae_html_user__cs.js:73 
我调用返回自动完成数据的Google应用程序脚本

document.addEventListener("DOMContentLoaded", function(){  
  google.script.run.withSuccessHandler(setAutocomplete)
                .getAutocompleteData(); 
});
然后我设置了自动完成

  function setAutocomplete(vraceno){

    console.log(vraceno);       
    var elems = document.querySelectorAll('.autocomplete');

    console.log(elems.length)
    console.log(elems[0].id)

    var       data = {
        "Apple": null,
        "Microsoft": null,
        "Google": "https://placehold.it/250x250"
    }

    var options = {
          //data : vraceno.autocomplete, 
          data : data,
          limit : 2,
          // onAutocomplete : function(txt) {
          //    onAutocomplete(txt);
          //  },
    };

   console.log("before");       

   var instanceAutocomplete = M.Autocomplete.init(elems, options);
   console.log("after");       
   console.log(instanceAutocomplete)  
    //autocomplete = vraceno;
  }
从控制台截图中我们可以看到

  • 数据已收到(这并不重要,因为我使用测试数据变量来测试收到的数据)
  • 找到一个“自动完成”元素
  • var instanceAutocomplete=M.Autocomplete.init(元素,选项)是问题所在
使用的HTML是

<div class="col s12 m6 l3">
  <label for="autocomplete">vyhledávání podle jména, příjmení, id</label>
  <input placeholder="" id="auto" name="autocomplete" type="text" class="autocomplete" autocomplete="off" />
</div>

vyhledávánípodle jména,příjmení,同上

有人可以帮助我使Materialize autocomplete正常工作吗?

出现问题的原因是输入字段没有包装在带有类输入字段的div中:

vyhledávánípodle jména,příjmení,同上 添加一个带有“类”输入字段的div解决了这个问题