如何将数据传递到引导模式?

时间:2015-04-10 22:10:59

标签: javascript jquery node.js twitter-bootstrap sails.js

我的基本环境是node.js,sails.js和MongoDB。

我正在生成一个SVG,其中包含从数据库中提取的数据和坐标,并使用' onclick'调用打开模态窗口的函数的功能。我的最终目标是能够点击一个形状(代表一个工作台)并打开一个模态打开,其中包含该形状/工作台的数据库信息。我遇到的问题是如何将数据传递给模态,以便知道我选择了哪个形状/工作台并列出该数据库对象的数据。目前,如果我通过选择一个工作台打开一个模态,它会将我制作的每个变量调用(this.example)列为' undefined'这显然是因为它没有传递那些数据。

我如何生成形状/长凳的示例:

// Foreach function generates shapes/benches from 'lab' collection in DB.
// bFill variable is generated within this function based on whether this bench is set to active or not.

<rect 
    id="<%= lab.number%>" 
    x="<%= lab.x %>" 
    y="<%= lab.y %>" 
    fill="<%= this.bFill %>" 
    stroke="#000000" 
    stroke-width="0.25" 
    stroke-miterlimit="10" 
    width="<%= lab.w %>" 
    height="<%= lab.h %>" 
    onclick="bench(this.id)" 
    >

我打电话的功能示例:

function bench(bNum) {
            $('#myModal').modal("show");
        }

我仍然是JS,JQuery和Bootstrap的新手,所以我想知道我忘记了明显的东西。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

通常,如果要将某个变量传递给javascript函数,则应该定义一个带有一些参数的函数。在您的情况下,您可以执行以下操作:

function bench(data1, data2, ...) {
       $('#myModal .modal-body').html("data1: " + data1 + " - data2: " + data2); //Or something like this
       $('#myModal').modal("show");
    }


 onclick="bench(this.id, 'Test')" 

如果您看到undefined错误,则问题为this.id