Datepicker ECSS日期选择器不工作

Datepicker ECSS日期选择器不工作,datepicker,materialize,Datepicker,Materialize,我使用的是CDN,没有jQuery。它只有1个索引文件,所有内容都是CDN。 当我点击日期选择器时,什么也没有发生。 我的index.html是 <!DOCTYPE html> <html> <head> <!--Import Google Icon Font--> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="styles

我使用的是CDN,没有jQuery。它只有1个索引文件,所有内容都是CDN。 当我点击日期选择器时,什么也没有发生。 我的index.html是

<!DOCTYPE html>
<html>

<head>
    <!--Import Google Icon Font-->
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
    <!--Import materialize.css-->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">

    <!--Let browser know website is optimized for mobile-->
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>

<body>
    <input type="text" class="datepicker">

    <!--JavaScript at end of body for optimized loading-->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
    <script>
        document.addEventListener('DOMContentLoaded', function () {
            var elems = document.querySelectorAll('.datepicker');
            var instances = M.Datepicker.init(elems, options);
        });
    </script>
</body>

</html>

document.addEventListener('DOMContentLoaded',函数(){
var elems=document.querySelectorAll('.datepicker');
var instances=M.Datepicker.init(元素、选项);
});

刚从materialize的页面复制粘贴时遇到这个问题,我删除了“选项”,在硬刷新后,日期选择器立即弹出

 var instances = M.Datepicker.init(elems);

@River是正确的-这里的问题是选项对象,它被引用但未声明。以下是文档中的说明:

document.addEventListener('DOMContentLoaded', function() {
    var elems = document.querySelectorAll('.datepicker');
    var instances = M.Datepicker.init(elems, options);
  });

  // Or with jQuery

  $(document).ready(function(){
    $('.datepicker').datepicker();
  });

选项对象(键:值对)不是必需的,除非您使用一些选项初始化组件-例如,将日期范围从10年增加到20年。因此,您可以删除选项对象:

document.addEventListener('DOMContentLoaded', function() {
    var elems = document.querySelectorAll('.datepicker');
    var instances = M.Datepicker.init(elems);
  });
或声明您的选项:

document.addEventListener('DOMContentLoaded', function() {
    var options = {'yearRange':20}
    var elems = document.querySelectorAll('.datepicker');
    var instances = M.Datepicker.init(elems, options);
  });

我已经要求对文档进行更改,但开发人员尚未接受。Gitter频道上挤满了人,问他们为什么使用了文档中的确切代码后这样那样的组件不工作。

你必须自己提供选项,比如
M.Datepicker.init(elems,{autoClose:true})例如

控制台应始终是您的第一个呼叫端口。如果选中此选项,您将看到以下消息:未捕获引用错误:HTMLDocument中未定义选项。这是误导性的文档,但可以通过声明选项或从init函数中删除它来轻松修复,请参阅下面的我的答案。不是答案。。。