Javascript 如何通过Meteor中的每个区块传递收集信息?
我正在用Meteor集合中的不同项目填充下拉菜单Javascript 如何通过Meteor中的每个区块传递收集信息?,javascript,meteor,spacebars,meteor-collections,Javascript,Meteor,Spacebars,Meteor Collections,我正在用Meteor集合中的不同项目填充下拉菜单案例 <select id="caseChoice"> {{#each case}} <option>{{name}}</option> {{/each}} </select> 我可以使用以下方法检索案例的id: var caseID = Cases.findOne({name:caseName})._id; 然而,我计划让用户创建具有相同名称的案例。它们是通过{{
案例
<select id="caseChoice">
{{#each case}}
<option>{{name}}</option>
{{/each}}
</select>
我可以使用以下方法检索案例的id:
var caseID = Cases.findOne({name:caseName})._id;
然而,我计划让用户创建具有相同名称的案例。它们是通过
{{each}}
传递id而不在下拉选择中显示\u id
的方法吗?如果您希望每个html标记包含id,可以使用选项的value属性,或者使用html5数据属性:
{{#each case}}
<option value="{{_id}}" data-id="{{_id}}">{{name}}</option> // can use value= or data-id=
{{/each}}
你不能只使用
选项
元素的值
属性吗?@Nate{{name}
,然后将文档.getElementById(“caseCooth”).value
是所选选项元素的value属性的值,在本例中也称为所选文档的id。正如Rahul所说,为什么不使用value属性?没有理由。在这种情况下,它们应该是等效的。我将编辑答案以避免任何混淆。答案很好。谢谢你,杰里米。和@PeppeL-G.@JeremyS。我认为value属性为搜索引擎(spider)提供了比data属性更好的信息(它们完全忽略了data属性?),但是id字符串可能没有太大的区别。
{{#each case}}
<option value="{{_id}}" data-id="{{_id}}">{{name}}</option> // can use value= or data-id=
{{/each}}
"click option" /*or whatever event handler is appropriate here*/: function(event, template){
var id = template.data._id;
/* alternatively you can call this._id which will generally give you the same result */
/* then do your event handling, etc. */
}