【发布时间】:2016-03-06 22:54:34
【问题描述】:
以前有人问过这个问题,但我自己都无法理解。
使用 Meteor,我将一个名为 Scrdata 的集合拉入 Select/Option 中。这很好用。在选项内部,我插入了该文档的 _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>
我正在尝试做一件非常简单的事情,通过它的 id 找到一个文档:
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);
}
});
控制台中的结果是:
ObjectID("56dab90a73176cc2deb25aaa")
undefined
我的目标是,在选择块发生变化时,在该页面上填充一个表单。但是,通过 _id 查找不起作用。
感谢您提供任何见解和指导。谢谢。
【问题讨论】:
-
控制台日志没有相同的基本信息。使用 findOne,您只需使用
$(event.target).val()而不是$(event.target).find('option:selected').val()。尝试使用已知的 _id,例如var ar = Scrdata.findOne({_id: "known_id"}); -
@user2690440 看起来您正在使用 ObjectID,因此您可能需要在调用
findOne之前先 convert them。