如何通过单击页面上的按钮获取对象?

时间:2013-07-15 03:27:41

标签: javascript meteor handlebars.js

我正在使用该网络应用。 这是picture

这个想法是有一个对象数组,它显示为一行div。这些对象中的每一个都有一个对象数组,它们在这些div中显示为一行div。

用户应该能够将新对象添加到页面上列出的对象。按“编辑”即可访问。

问题:如何让脚本从被点击的div中抓取对象并在窗口中显示它们? 我正在使用meteor bootstrap包。

如果你不明白的话,问我问题 - 这些东西就像迷宫一样。

的Javascript

var state = 0;
var 
    sides = [

        {
        name:"MURICA", 
        types:[

                {
                    name:"EAGLE",
                    desc:"FREEDUM",
                    power:10
                }

            ]
        }

    ];

if (Meteor.isClient) {
    Template.global.side = function(){
        var obj = [], m;
        m = 1;
        for (var i in sides){
            obj.push({
                index : m,
                object : sides[i]
            });
        }
        console.log(JSON.stringify(obj));
        return obj;
    }
    Template.content.state = function(){
        return state;
    }
    Template.global.events ({
        'click .edit': function(){
            jQuery('#edit').toggle()
            console.log("PRESSED FREEDOM");
        }
    });
}

HTML可以在这里找到(太大而无法发布)http://pastebin.com/kmNnSV1w

1 个答案:

答案 0 :(得分:1)

这可能会有所帮助:

html

<template name="asdf">
    <div class="asdf-box" data-nameOfTheParam="{{putSomeValueHere}}">
        <span class="asdf-button">Click me!</span>
    </div>
</template>

<强> JS

Template.asdf.events({
    'click .asdf-button': function(e) {
        console.log( $(e.target).closest('.asdf-box').data('nameOfTheParam') );
    }
});

使用数据库项时,您可以只使用id:data-id={{_id}}并根据此ID在回调中获取所需的对象。