javascript - 使用 Materialise 和 Meteor 时应该在哪里初始化 select?

标签 javascript jquery meteor materialize

我正在尝试在 Meteor 上使用 Materialise Forms。在其 Materialize 的页面上,它说我应该像这样初始化“选择”输入字段:

$(document).ready(function() {
  $('select').material_select();
});

我试过在 Meteor.startup、Template.body.created 上调用它——没有任何效果。我收到以下错误:

undefined is not a function (evaluating '$('select').material_select()')

我应该在哪里初始化它?

最佳答案

使用模板的.rendered callback

<template name="hello">
    <select><option>...</option></select>
</template>

然后你可以在你的js文件中有这个

Template.hello.onRendered(function() {
    $('select').material_select();
});

模板很可能在渲染已经触发后添加到主体,这就是渲染主体不起作用的原因。如果您使用 .created,则 DOM 尚未呈现。

关于javascript - 使用 Materialise 和 Meteor 时应该在哪里初始化 select?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28783887/

相关文章:

javascript - 更改当前页面菜单项的样式

javascript - 如何使用 jQuery 根据下拉列表中选择的内容显示元素?

jQuery - 动态设置过滤器方法

javascript - Meteor 返回字符串形式的值

javascript - 在 Meteor 中获取嵌套 JSON 格式的数据

meteor - 如何最好地解决显示 meteor 收藏之前的延迟问题?

javascript - 访问自执行函数

javascript - 用户界面中的 Spring boot AJAX POST 请求和 knockout.js 调试错误

jQuery自定义验证: custom phone number format

javascript - 在 JSON 对象的特定位置插入属性