2012-03-07 34 views
6

我有一個asp.net mvc網站and am using javascript treemap control顯示熱圖。這個控件很好用,但我想看看是否可以將其他json字段粘貼到用於更新另一個div的回調函數中。是否有返回javascript treemap json中的其他數據?

有誰知道這是否可能。現在我不得不來回跳動,做2個獨立的ajax調用,但我想看看是否可以將這個信息與treemap json響應一起傳遞。

+1

你在代碼中的哪個位置進行回調?我在旁邊看到一些事件處理程序,但是我沒有在您發佈的內容中看到任何Ajax調用。 – 2012-03-10 14:25:40

回答

5

你需要做的是一個單獨的調用,你可以自己調用回調函數。在這裏,JSON會像

var data = { 
    heatmap_data: {} 
    other_data: {} 
} 

的結構和下一個呼叫

tm.loadJSON(data.heatmap_data); 

加載熱圖數據,並使用所有其他數據,以自己的喜好。這應該做的伎倆嗎?至少,也就是說,如果loadJSON需要一個對象,情況似乎如此。儘管如此,這個答案似乎太簡單了,所以我可能完全忽略了這一點。

0

你有一個定義的結構您TreeMap的,基本上你有鑰匙idnamedatachildren每一個節點。據我在文檔中看到,其他鍵沒有限制。所以你可以在data屬性中添加額外的鍵。

例如您的JSON響應可能是這樣的:

{ 
    "data": { 
     "myCustomData": { /* your data here */ } 
    }, 
    "id": "root", 
    "name": "Top Albums", 
    "children": [ 
     { 
      "data": { 
       "playcount": 547, 
       "$area": 547, 
       "myCustomData": { /* your data here */ } 
      }, 
      "id": "artist_A Perfect Circle", 
      "name": "A Perfect Circle" 

     } 
    ] 
} 

當你想用你額外的數據你這樣做:

... 
onClick: function(node) { 
     ... 
     if(node.data.myCustomData){ 
      /*** you have data, do something here ***/ 
     } 
} 

這裏有一個LIVE EXAMPLE與警報當你點擊myCustomData的節點時。將鼠標懸停在左上角的「製作自己」框中,即可查看工具提示中的自定義數據,並在點擊時顯示自定義數據的提醒。

搜索「mycustomdata」的代碼,看看它是如何完成的。