在事件处理程序中连接字符串和动态id

时间:2017-03-23 21:58:00

标签: javascript meteor concatenation

我有一个带有下拉菜单的Meteor模板,该菜单返回一个字符串,然后在方法中使用。由于我使用下拉列表选择目标值,因此这仅适用于模板的第一个实例 - 之后,其他模板使用第一个模板中的选定值。

如何引用下拉菜单的ID以确保我指向正确的实例? id为build{{this._id}},我无法弄清楚在事件处理程序中使用的语法。我试过了:

var selection = $("'#' + 'build' + 'buildId' option:selected).val();

但没有运气。

<template name="Build">
    <form>
        <select class="form-control build-comps" id="build{{buildId}}">
            {{#each comps}}
                <option class="comp" value="{{_id}}">{{name}}</option>
                <option class="comp" value="{{_id}}">{{name}}</option>
                <option class="comp" value="{{_id}}">{{name}}</option>
            {{/each}}
        </select>
        <button type="submit" class="btn btn-info">Add</button>
    </form>
</template>

Template.Build.events({
    'submit form': function(e) {
        e.preventDefault();

        var buildId = this._id;
        var selection = $(".build-comps option:selected").val();
        ...
    }
});

更新代码:

var selection = $('#build' + buildId + " " + 'option:selected');

0 个答案:

没有答案