Materialize Select JavaScript:无法初始化。formSelect不是函数。append不是函数
从下面代码段中的注释可以看出,我已经尝试了所有有意义的方法。我发现Materialize文档非常陈旧,缺乏细节和工作代码示例。我在这里找到了一两篇文章,我正在尝试(参见注释代码)这些建议。我做不到 你能看出我做错了什么吗 谢谢,谢谢,谢谢你的帮助:-) 这里是Html内容Materialize Select JavaScript:无法初始化。formSelect不是函数。append不是函数,javascript,materialize,Javascript,Materialize,从下面代码段中的注释可以看出,我已经尝试了所有有意义的方法。我发现Materialize文档非常陈旧,缺乏细节和工作代码示例。我在这里找到了一两篇文章,我正在尝试(参见注释代码)这些建议。我做不到 你能看出我做错了什么吗 谢谢,谢谢,谢谢你的帮助:-) 这里是Html内容 <div class="container"> <div class="row"> <div class="input-field col s12">
<div class="container">
<div class="row">
<div class="input-field col s12">
<select id="collName">
<option>( Choose collection... )</option>
</select>
</div>
<div class="input-field col s12">
<select id="query">
<option>( Choose query... )</option>
</select>
</div>
</div>
<div class="row">
<div id="status" class="col s12">Ready</div>
</div>
<div class="row">
<div id="collections" class="col s4">4 columns</div>
<div id="container" class="col s8"></div>
</div>
</div>
(选择收藏…)
(选择查询…)
准备好的
4列
下面是JavaScript代码
document.addEventListener('DOMContentLoaded', function () {
// const elems = document.querySelectorAll('select');
// const options = {};
// const instances = M.FormSelect.init(elems, options);
const optionsColls = [];
config.collections.forEach(c => {
optionsColls.push("<option>" + c + "</option")
});
const elemCollName = document.getElementById('collName');
collName = M.FormSelect.init(elemCollName, {});
//collName = M.FormSelect.getInstance(elemCollName);
// collName.empty();
collName.formSelect();
collName.append(optionsColls);
// config.collections.forEach(coll => {
// collName.options.add(new Option(coll, coll));
// });
});
document.addEventListener('DOMContentLoaded',函数(){
//常量elems=document.querySelectorAll('select');
//常量选项={};
//const instances=M.FormSelect.init(元素、选项);
const optionsColls=[];
config.collections.forEach(c=>{
选项colls.push(“+c+”加载/初始化选择时,以下选项确实有效
document.addEventListener('DOMContentLoaded', function () {
const elemCollName = document.getElementById('collName');
config.collections.forEach(c => {
elemCollName.options.add(new Option(c, c));
});
M.FormSelect.init(elemCollName);
});
当您在事件中动态加载选择选项列表时,这似乎也可以正常工作。只要在修改选择后始终调用.init()。这个错误仅仅意味着“FormSelect”
不作为“M”对象的属性存在。您是否尝试过执行控制台.log(M)
验证它是否是您认为它是的对象?(还要注意,在问题标题中您写了“formSelect”,但在代码中是“formSelect”;这些是不同的。)谢谢@Pointy,是的,M被物化加载。对于不正确的小写f/f部分,很抱歉。还有其他建议吗?:-)好的,等一下;显然有FormSelect
对象,但您确实正在调用.FormSelect()
.Hmm…是的,我正在尝试许多不同的代码组合,但没有任何东西像其他SO帖子中所说的那样有效。谢谢您的帮助!嗯,.FormSelect()
是“旧的”“并打算与jQuery一起使用;您似乎没有这样做。