Tag: meteor

ReferenceError:未定义音频

我正在为客户在Meteor中构建一个音频播放器。 我尝试创建音频对象时收到错误。 我正在使用以下代码。 知道为什么会这样吗? 任何帮助将不胜感激。 // Define Audio song = new Audio(‘/audio/waitforme.mp3’); // Define Play play = $(‘#playicon’); $(function() { $(‘#playicon’).on(“click”, function() { e.preventDefault(); song.play(); }) }); ReferenceError: Audio is not defined at AlannaSite.js:2:14 at AlannaSite.js:12:4 at /Users/CorrinSite/.meteor/local/build/programs/server/boot.js:242:10 at Array.forEach (native) at Function._.each._.forEach (/Users/AriKamin/.meteor/packages/meteor- tool/.1.1.9.1sd3e7j++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/server-lib/node_modules/underscore/underscore.js:79:11) at /Users/CorrinSite/.meteor/local/build/programs/server/boot.js:137:5

动态meteor模板

所以问题是我有一个导航栏模板,我想动态改变’li’元素的类。 到目前为止,我有这个代码来进行更改(.js): Template.navigation.onCreated( function() { Template.instance().currentTab = new ReactiveVar(); }); Template.navigation.helpers({ tab: function() { return Template.instance().currentTab.get(); } }); Template.navigation.events({ ‘click .navbar-nav li’: function( event ) { var currentTab = $( event.target ).closest(‘li’); currentTab.addClass(‘active’); $(‘.navbar-nav li’).not( currentTab ).removeClass(‘active’); } }); 但是我必须两次点击’li’元素才能看到变化。 我尝试按照这个主题回答jQuery click()在.clickable类被删除后仍然被触发 ,但没有运气。 我真的很感激任何帮助! 提前致谢! UPD:根据要求,我发布了html代码以及完整的.js代码html: Home About Projects Numbers Contact {{> Template.dynamic template=tab}}

jQuery.validationEngine v2.6.1有时仅validation?

代码似乎被连接起来(像这样) jQuery(“#contactForm”).validationEngine(); 因为它将validation并引发错误气泡,如果: 你没有任何输入就跳出了必填字段 在需要更多字段的字段中键入至少一个字符,然后单击“提交”按钮 但是如果你什么也不做,除非点击提交按钮,否则它不会validation并引发错误气泡。 在那种情况下,它只是提交。 一旦你点击字段或输入任何东西,它似乎工作。 我错误配置了什么? HTML: Name: Email Address: Message: JavaScript(它在Meteor中运行): Template.Contact.rendered = function () { jQuery(“#contactForm”).validationEngine(); }

在meteor中初始化No UI Slider的多个实例

如何在Meteor中初始化无UI滑块的多个实例? 我想在页面上有多个滑块。 我一直在努力…… 模板: JS: Template.task.rendered = function() { $(‘#slider’+this._id).noUiSlider({ start: 5, connect: “lower”, step: 0, format: wNumb({ decimals: 0, }), range: { ‘min’: 0, ‘max’: 10 } }); $(‘#slider’+this._id).Link(‘lower’).to($(‘#range’+this._id)); }; 调用this._id不会做任何事情……不管怎样,它需要遍历所有的postID,直到匹配为止,比如在做Tasks.findOne(); 并与DOM中的最新情况进行比较。 如果有更好的方法这样做…请告诉我! 编辑: 我更新了我的代码,遵循其他实例的结构,其中插件在同一页面上多次初始化,使用$ this和.each 模板: JS: Template.task.rendered = function() { $(‘.slider’).each(function() { var $this = $(this); $this.noUiSlider({ start: 5, connect: “lower”, step: […]

设置Meteor JS Helper的返回值,将其动态注入模板

编辑: 鉴于下面的答案,使用Meteor Deps似乎是理想的游戏,因为我想在两个不同的模板之间共享数据,它应该对发生的任何变化都有反应。 澄清一下:我的数据来源是Template.reactiveTable ,目的地是Template.buttons 。 当reactiveTable的数据发生变化时,我希望按钮能够反映这一点。 结束编辑 我希望根据表的内容(特别是 值)设置buttons的值。 buttons.html: {{#each testButtons }} {{ name }} {{/each}} 使用这种硬编码,它按预期工作(两个按钮呈现标记为Alice和Bob UI.registerHelper(‘testButtons’, function () { return [ { name: “Alice” }, { name: “Bob” } ] } ) 模板很乐意接受并呈现此对象数组 。 但是,当我动态生成对象数组时。 目标:对于我的h1标签中包含的每个唯一单词,生成一个按钮(几乎像博客标签)。 通过下面的代码片段替换我的助手代码(使用jquery解析 标签,生成数组以发送到模板)。 假设html是: foo bar baz 然后在控制台中运行以下片段,将创建uniqStrings = [ “foo”, “bar”, “baz”]; 如预期的。 $( ‘h1’ […]

bootstrap3-datetimepicker并不总是按预期工作

我正在使用meteor-bootstrap3-datetimepicker 。 以下是我使用日期选择器的地方: Adjust Date and Time 我使用onRendered因为它显示在他们的GitHub页面中: Template.requestView.onRendered(function() { this.$(‘.datetimepicker’).datetimepicker(); }); 我的期望:当我按下文本字段( 标签)时打开日期时间弹出窗口,如下图所示: 问题是日期时间弹出窗口只出现在我身上三次:一次在Google Chrome中,两次在Safari中。 当我按下文本字段时,为什么它很少出现?

从html’value’属性中检索值

如何检索名为“value”的html元素属性中定义的实际值? 在用户注册之前,我正在设置一个会话变量,其值应为“发布者”或“读者”,具体取决于他们点击的div。 此会话值将在用户创建时使用。 Reader Publisher client.js(尝试将会话变量设置为’reader’或’publisher’,具体取决于他们点击的两个div) Template.authJoinType.events({ ‘click div.join-type-inner’: function(e, tmpl) { var userType = $(e.target).find(‘#userTypeSelect’).val(); Session.set(‘userType’, userType); var selectedUserType = Session.get(‘userType’); console.log(selectedUserType); // this is printing out ‘undefined’ } }); 救命? 我是否以不正确的div为目标?

Meteor:从动态过滤的下拉列表中选择选项

与Meteor一样,当选择另一个下拉列表时动态过滤下拉列表 :我可以根据select#1填充select#2中的项目。 但是我无法以编程方式将选择#2的特定选项设置为选中 – 至少不是在选择#1的更改事件之后 – 因为项目尚未填充。 html的: Dropdown {{> hello}} {{#each products}} {{name}} {{/each}} Select One {{#each categories}} {{name}} {{/each}} Select One {{#each subCategories}} {{name}} {{/each}} .js文件: if (Meteor.isClient) { Template.hello.helpers({ products: function() { return Products.find(); }, categories: function() { return Categories.find(); }, subCategories: function() { return Session.get(“selectedMainCat”) && Categories.findOne({ name: Session.get(“selectedMainCat”) }).subCategories; } […]

Jquery(metis-menu)不使用铁:meteor中的路由器

我正在尝试实现一个侧边栏(利用sb-admin-2的侧边栏当我使用侧边栏作为main.html的一部分时,切换工作完全正常。但是,当我通过铁实现相同的时候:路由器和设置侧边栏是持久的,侧边栏失去了切换/隐藏function。基本上,子级元素总是被扩展,我无法隐藏那些子级元素。有没有解决这个问题? 我在旁边有条形码 – >这在client / main.html中有用 但是当我在这样的模板中尝试相同的操作并通过以下代码将其传递给iron:router时,切换function将丢失 router.js: Router.configure({ layoutTemplate: ‘sidebar’ }); 我在这个类似的问题中读到这与渲染的回调有关,但我不知道如何让它在这里工作。

警报已插入但未显示

我正在处理未读的消息计数器,并收集警报和收集消息。 问题现在是控制台日志显示警报附加到消息,但计数器没有显示。 键入Alerts.find().count(); 在console3e中给出0。 模板计数器+单击以清除警报 //helper alertCount: function(){ return Alerts.find({ userId: Meteor.userId(), read: false }).count(); } //event ‘click .enterRoom’: function() { Meteor.call(‘markAlertsAsRead’, { roomId: this._id }); } 提交邮件时附加提醒 ‘submit form’: function(e, template) { e.preventDefault(); var message = template.find(‘input’).value; var roomId = this._id; var messageId = Messages.insert ({ roomId : Router.current().params._id, msg : message, userId : […]