如何让JQuery UI Slider更新Meteor Collection(MongoDB)而不会消失

时间:2013-07-31 18:46:37

标签: jquery-ui meteor

我的应用中有两个Meteor.Collections。一个包含一堆“滑块”对象,它们定义每个滑块的标题,最大值,最小值,基值和步长。现在,我有两个问题。首先是让滑块首先显示出来。我试过把以下代码:

    Sliders.find().forEach(function(slider) {
        $("#"+slider._id).slider({
            min:slider.min,
            max:slider.max,
            value:slider.base,
            step:slider.step,
            change:function(event,ui) {
                Data.update({_id:Data.findOne({slider:event.target.id})._id}, {$set:{value:ui.value}});
            }
    });
    });

在Meteor.startup中,在我的client.js文件的末尾,在$(document).ready()块中,似乎没有任何东西能让它工作。但是,当我将其粘贴到javascript控制台时,它可以正常工作。无论如何,这是我的第一个问题。

我的第二个问题是每当我滑动滑块时,滑块都会消失。我可以继续拖动鼠标来改变值,但是一旦我放开了点击器,我就不能再改变它了。我已经尝试使用上面的方法并调用Meteor.method在服务器端更改它。这是因为我正在更新发布到同一客户端的集合,这使得滑块消失。任何不足之处都不会导致它消失。我该怎么处理这个?

谢谢!

1 个答案:

答案 0 :(得分:0)

您是否已尝试使用Template.preserve方法? http://docs.meteor.com/#template_preserve