Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Meteor Collection中搜索和输出_Meteor - Fatal编程技术网

如何从Meteor Collection中搜索和输出

如何从Meteor Collection中搜索和输出,meteor,Meteor,JS Colors = new Meteor.Collection("colors"); Template.col_list.cols = function () { return Colors.find(); }; 因此,这段代码将在html中输出从Col.find到handlebar cols的所有内容 HTML文件 {{#each cols}} {{name}}, {{RGB}}, {{HEX}} {{/each}} 但是假设我想要一个输入框,这样我就可以搜索颜色的名称,所以它只

JS

Colors = new Meteor.Collection("colors");

Template.col_list.cols = function () {
  return Colors.find();
};
因此,这段代码将在html中输出从Col.find到handlebar cols的所有内容

HTML文件

{{#each cols}}
{{name}}, {{RGB}}, {{HEX}}
{{/each}}
但是假设我想要一个输入框,这样我就可以搜索颜色的名称,所以它只显示该颜色的信息或任何以我在输入框中键入的任何颜色开头的颜色的信息

例如: Input=“bl” 输出应为黑色、蓝色或任何以bl开头的颜色

我一直在到处寻找实践中的任何例子,但我没有找到任何

到目前为止,我已经得到了一些这样的效果,但它不会带来好运

Template.col_list.events({
  'click .search': function() {
    Colors.find(name: $('col_name').val());
  }
});

您需要使模板的内容依赖于输入字段,以保持Meteor的反应性。会话变量非常适合这样做

这应该起作用:

Colors = new Meteor.Collection("colors");

Template.col_list.cols = function () {
  return Colors.find({name: { $regex: Session.get('prefix')+".*", $options: 'i' }});
};

Template.col_list.events({
  'click .search': function() {
    Session.set('prefix', $('.col_name').val());
  }
});

您需要使模板的内容依赖于输入字段,以保持Meteor的反应性。会话变量非常适合这样做

这应该起作用:

Colors = new Meteor.Collection("colors");

Template.col_list.cols = function () {
  return Colors.find({name: { $regex: Session.get('prefix')+".*", $options: 'i' }});
};

Template.col_list.events({
  'click .search': function() {
    Session.set('prefix', $('.col_name').val());
  }
});

尝试了,什么也没发生,尝试添加警报('搜索'+$('col_name').val());它说,我正在搜索undefined:/尝试将undefined添加到数据库中,但它发现undefined:P,因此我们知道它应该可以工作,但为什么它是undefined?我们需要查看您的输入HTML,例如,在哪里定义了us col_name?顺便说一句,你的意思可能是“col#u name”,不是吗?好吧,那么你的jquery选择器就关闭了。我已经更新了我的答案。您需要使用“.col_name”来查找该元素。这解决了“未定义”的问题吗?尝试了,什么也没有发生,尝试添加警报('搜索'+$('col_name').val());它说,我正在搜索undefined:/尝试将undefined添加到数据库中,但它发现undefined:P,因此我们知道它应该可以工作,但为什么它是undefined?我们需要查看您的输入HTML,例如,在哪里定义了us col_name?顺便说一句,你的意思可能是“col#u name”,不是吗?好吧,那么你的jquery选择器就关闭了。我已经更新了我的答案。您需要使用“.col_name”来查找该元素。这是否解决了“未定义”的问题?