2012-03-07 35 views
6

Tôi có trang web asp.net mvc and am using javascript treemap control để hiển thị bản đồ nhiệt. Điều khiển này hoạt động tốt nhưng tôi muốn xem nếu tôi có thể dính một số lĩnh vực json khác vào callback được sử dụng để cập nhật div khác.Có cách nào để trả lại dữ liệu khác bên trong json treemap json không?

Có ai biết nếu điều này là có thể. Ngay bây giờ tôi phải trả lại và thực hiện 2 cuộc gọi ajax riêng biệt nhưng tôi muốn xem liệu tôi có thể chuyển thông tin này cùng với phản hồi json treemap hay không.

+1

Bạn đang tạo mã gọi lại ở đâu trong mã? Tắt tay Tôi thấy một vài xử lý sự kiện, nhưng tôi không thấy bất kỳ cuộc gọi ajax trong những gì bạn đăng. –

Trả lời

5

Điều bạn cần làm là một cuộc gọi mà bạn tự mình gọi lại. Ở đây json sẽ là một cấu trúc như

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

và cuộc gọi tiếp theo

tm.loadJSON(data.heatmap_data); 

để tải dữ liệu bản đồ nhiệt và sử dụng tất cả các dữ liệu khác theo ý thích của riêng bạn. Điều đó nên làm các trick phải không? Ít nhất, đó là nếu loadJSON có một đối tượng như là trường hợp. Tuy nhiên, câu trả lời này có vẻ quá đơn giản, vì vậy tôi có thể hoàn toàn bị mất điểm.

0

Bạn có cấu trúc được xác định cho TreeMap của mình, về cơ bản bạn có mọi nút có các phím id, name, datachildren. Theo như tôi đọc trong tài liệu, không có hạn chế về các phím khác. Vì vậy, bạn có thể thêm các khóa bổ sung bên trong thuộc tính data.

Ví dụ phản ứng json của bạn có thể là như thế này:

{ 
    "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" 

     } 
    ] 
} 

Khi bạn muốn sử dụng thêm dữ liệu của bạn, bạn làm như sau:

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

Ở đây bạn có một LIVE EXAMPLE với một cảnh báo khi bạn nhấp vào các nút có myCustomData. di chuột qua hộp "Tạo chính bạn" ở góc trên cùng bên trái để xem dữ liệu tùy chỉnh trong chú giải công cụ và cảnh báo với dữ liệu tùy chỉnh khi nhấp.

Tìm kiếm mã cho "mycustomdata" để xem cách thực hiện.

Các vấn đề liên quan