2015-10-20 126 views
0

我已經有了一個創建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代碼?請注意,鏈接的數量實際上要多得多,而且要大得多,以便動態地分配鏈接。有什麼建議麼?

回答

0

這似乎是一個更好的方法,只是簡單地動態生成id(或任何其他的這些鏈接的屬性),但是可以將給定生成的屬性值(例如customers1的id) (customers1會導致你的密鑰1在你的散列,例如),所以你可以從點擊event - >e(通過檢查的價值獲得該屬性值) e.target - http://api.jquery.com/category/events/event-object/)傳遞給你的.click(function(e) {...}),然後簡單地讀取你想要填充模態的散列屬性。

+0

我有點這樣做,以動態方式將每個鏈接映射到對象。我可以閱讀活動中點擊的鏈接。但是,關鍵指向的實際值未通過。實際數據。我能夠獲取模式窗口並根據事件找出哪個鏈接被點擊。但我無法想出一個方法來傳遞實際的數據,而不是通過URL params(它具有字符限制)。點擊鏈接的名稱或ID不是主數據,它只是一個指向數據的指針。 – rshaq

+0

我意識到,所以這是一個讓你的哈希變量可用於模態邏輯的問題,所以它可以根據從事件中感知的關鍵字獲取適當的屬性。 – Munhoz