我的基本环境是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的新手,所以我想知道我忘记了明显的东西。任何帮助将不胜感激。
答案 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
。