以前曾经问过,但我自己都无法理解答案。
使用Meteor,我将一个名为Scrdata的集合拉入Select / Option。这很好。在选项内部我插入该文档的_id。一切正常。
;
我试图做一个非常简单的事情,通过它的id找到一个文件:
<select class="selectfile">
<option>Click to Select</option>
{{#each cwCasesPending}}
<option value="{{_id}}">{{> allcase}}</option>
{{/each}}
</select>
<template name="allcase">
<div > {{last_name}}, {{first_name}}: {{facility}} - {{cwname}}</div>
</template>
控制台中的结果是:
Template.caselist.events({
'change .selectfile': function(event, tmpl){
var ar = Scrdata.findOne({_id: $(event.target).val()});
console.log($(event.target).find('option:selected').val());
console.log(ar);
}
});
我的目标是,在选择块更改后,填充该页面上的表单。但是,_id的查找不起作用。
我很感激任何见解和指导。谢谢。
答案 0 :(得分:0)
您的基本想法是使用id作为过滤器从数据库中提取文档。如果上面的代码不起作用,您可以尝试几种方法来解决它:
第一种方法是尝试:
var id = $(event.target).find('option:selected').val();
var ar = Scrdata.findOne({_id: id});
如果这显然不起作用,$(event.target).find('option:selected').val()
会返回一些对象。在控制台上打印此对象。查看其属性(如果上面打印的代码是您现在收到的内容,则至少其中一个是id)。然后再次使用:
var id = $(event.target).find('option:selected').val().(the property of the object);
当我遇到类似的问题时,我会用这种方式。希望它能为你效劳。 请参阅this问题: