将JavaScript变量绑定到HTML元素
问题描述:
我已经有了一个创建Bootstrap表的系统。在每一行的每个单元格中,出现一个数字值,表示该地区客户的数量。类似的,将JavaScript变量绑定到HTML元素
-----------------------------------
Region | Number
-----------------------------------
New York | 5
New England | 8
Florida | 3
-----------------------------------
该数字是在JavaScript加载DOM时计算的。中的JavaScript接收所有客户的无组织的阵列,这是我然后整理出来成适当矩阵称为客户[区域],其中在客户的每个元素是本身对象的数组,像这样:
var customers = {
0 : ["customer1","customer2","customer3"],
1 : ["customer4","customer5","customer6"],
2 : ["customer7","customer8","customer9"]
}
的表格单元动态填充一些JS代码看起来像
var cell = "<td><a id='testLink0' href='#'>" + customers[0].length + "</a></td>"
$("#row1").append(string); // Gets one of the rows, and appends to it
但是,现在,我想加载一个模式窗口,当用户点击其中一个数字。模式窗口将显示该地区所有客户的表格。我可以将每个数字转换成打开模式窗口的链接,但我无法找到将模式窗口传递给数据的好方法。因此,我想将客户[0]绑定到一个链接,将客户[1]绑定到另一个链接等,以便单击该链接时,模式窗口将接收该特定的JavaScript对象。
$(document).ready(function() {
$('a#testLink0').click(function(e) {
$.get('template.html', function(data){
modal.open({content: data});
});
});
如何将JavaScript对象传递给template.html中的某些JavaScritp代码?请注意,链接的数量实际上要多得多,而且要大得多,以便动态地分配链接。有什么建议么?
答
这似乎是一个更好的方法,只是简单地动态生成id(或任何其他的这些链接的属性),但是可以将给定生成的属性值(例如customers1
的id) (customers1
会导致你的密钥1
在你的散列,例如),所以你可以从点击event
- >e
(通过检查的价值获得该属性值) e.target
- http://api.jquery.com/category/events/event-object/)传递给你的.click(function(e) {...})
,然后简单地读取你想要填充模态的散列属性。
我有点这样做,以动态方式将每个链接映射到对象。我可以阅读活动中点击的链接。但是,关键指向的实际值未通过。实际数据。我能够获取模式窗口并根据事件找出哪个链接被点击。但我无法想出一个方法来传递实际的数据,而不是通过URL params(它具有字符限制)。点击链接的名称或ID不是主数据,它只是一个指向数据的指针。 – rshaq
我意识到,所以这是一个让你的哈希变量可用于模态逻辑的问题,所以它可以根据从事件中感知的关键字获取适当的属性。 – Munhoz