0

好的,这应该是一个关于节点的简单问题。

使用 express,有一个名为 app.js 的文档,另一个是 index.jade,还有一个 index.js,通常还有另一个 javascript,比如 server.js,服务器的大部分工作都在这里完成(这里的代码可以在 app.js 中,但假设这些是不同的文件)。

假设我有两个这样的对象

myIDs   = ['afoo', 'abar'];
myArray = ['foo', 'bar'];

在 server.js 中,我想在jade中遍历它们的元素,并创建分别具有值 foo 和 bar 并且它们的 id 分别为 afoo 和 abar 的按钮。我们怎么能做这样的事情?

此外,是否有可能实现这些按钮之一是否发生鼠标单击?我试图为我使用类似这样的东西动态创建的特定按钮命名

html = "<button id=\"aUniqueID\">Press me!</button>"
document.getElementById('puff').innerHTML = html;

但是,即使它出现在浏览器中,按下按钮时也没有任何反应(我正在向服务器发送消息,并且服务器应该打印控制台日志)。

任何帮助,将不胜感激。

4

1 回答 1

5

我建议您不要使用内联函数,我会在客户端附加点击事件,但您可以像使用玉石一样将其内联添加

这假设每个按钮的 value 和 id 位于相同的数组位置:

myIDs   = ['afoo', 'abar'];
myArray = ['foo', 'bar'];

each button_id, i in myIDs
    button(id="#{button_id}", onclick="yourFunctionHere();") #{myArray[i]}

更新:

将数组传递给 .jade 页面就像:

app.get('/your-url-path', function(req, res){

    var my_ids_array = ['afoo', 'abar'];
    var my_values_array = ['foo', 'bar'];

    res.render('your-jade-page', { myIDs: my_ids_array, myArray: my_values_array });
});
于 2013-09-26T02:04:50.243 回答