如何在Meteor中访问一个选项的上下文?
How can I access the context of an option in Meteor?
是否有任何方法可以获得与{{#each}}
生成的选项标签的数据上下文?目前,我使用两种变通方法,这取决于我要迭代的数据类型。
Case 1 - Options游标
<template name="select">
<select>
{{#each options}}
<option value="{{_id}}">{{label}}</option>
{{/each}}
</select>
</template>
Options = new Meteor.Collection('options');
Template.select.events({
'change select': function (e, t) {
var option_doc = Options.findOne($(e.target).val());
}
});
Case 2 - Options Array
<template name="select">
<select>
{{#each options}}
<option>{{label}}</option>
{{/each}}
</select>
</template>
var options = [{label: "foo"}, {label: "bar"}];
Template.select.events({
'change select': function (e, t) {
var option_doc = options[e.target.selectedIndex];
}
});
如果这是使用文本输入,this
将是事件处理程序中的option_doc
。但是,由于更改事件是在select而不是option上触发的,因此this
引用模板的数据上下文。
试试UI.getElementData
。
From the Meteor docs:
UI.getElementData (el) (客户端)
返回从流星模板呈现DOM元素时使用的数据上下文。
参数
el
DOM元素
由流星模板呈现的元素
相关文章:
- 无法在Ionic select中预先选择最后一个选项
- 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式
- AngularJS ng选项在选择一个选项后删除了默认的空白值
- 在下拉列表中选择一个选项的值
- 创建了一个选项卡,但点击时不会起作用-jQuery issue/newbie
- HTML-从mysql生成的选择框中的一个选项更改文本区域的颜色
- 打开一个选项卡,并在firefox网络扩展中向其发出POST请求
- 链接到手风琴中的另一个选项卡,嵌入的链接将不起作用
- 如何将数组附加到下拉导航栏并禁用其中的一个选项
- 尝试添加一个选项以使用append进行选择,但没有任何结果
- 在dojo中将数据从一个选项卡绑定到另一个选项卡(打开选项卡?)
- 单击按钮进入下一个选项卡,而不是单击选项卡
- PHP Jquery选项卡:内容加载到一个选项卡's面板
- 对添加另一个选项卡的onsubmit函数停止重定向
- 用CSS和Javascript创建一个选项卡系统
- 在下拉列表中的页面加载中已经选择了一个选项,该选项也可以更改
- jQuery UI 选项卡取消选择事件或在选择时保存上一个选项卡
- 单击链接时添加另一个选项
- 如何在 PHP 中使用 OnChange 事件的下拉列表中选择一个选项后,对大量数据行设置分页
- jQuery - 根据标识符获取下一个选项的总值