2013-08-28 24 views
0

我在網頁上使用屏蔽UI JavaScript圖表。當前的圖表類型是餅圖。我需要的是在用戶點擊一片餡餅後向用戶提供更多數據。數據將在單獨的窗口中提供,並且我還需要在打開的文檔的URL中傳遞一些參數。我嘗試了一些技巧;然而他們都沒有正常工作。我使用pointSelect事件單擊Shield UI後將參數傳遞到新窗口JavaScript餅圖

  events: { 
       pointSelect: function(args) { 
       } 
      }, 

但我堅持在這一點上。將感謝任何幫助。

+0

你是指新的瀏覽器窗口?你目前打開新窗口的代碼是什麼? – RoryKoehein

+0

它是我使用的window.open方法,但是將它與圖表放在一起是我的問題。否則,打開一個新窗口沒有問題。 –

回答

1

如果打開與window.open的窗口,你可以事後引用窗口:

var w = window.open("http://www.google.com/", "popup"); 

// wait for the window to load and then so something 
w.onload = function(){ 
    w.doSomething(); 
}; 

https://developer.mozilla.org/en-US/docs/Web/API/window.open

如果你只需要傳遞一些參數,你也可以使用location.hash的,例如,鏈接到page.html#/some/variables/here,然後拆分location.hash等。

0

這是非常簡單的事實。這裏有一個pointSelect事件的可用參數列表:https://www.shieldui.com/documentation/javascript.chart/events/pointSelect 讓我們拿起args.point.x參數。這是切片的編號,從第一個開始。我們可以使用一系列鏈接,或者我們可以將鏈接參數的價值分配給鏈接 - 這主要是一個選擇問題。例如,您可能需要使用下面的代碼:

  events: { 
       pointSelect: function(args) { 
        var URL="http://www.url.com/?parameterA="+args.point.x; 
        var WindowName="Details"+args.point.x; 
        window.open(URL, WindowName, "height=200,width=200"); 
       } 
      }, 

既然你提的一個新窗口,而不是標籤,我爲窗口的尺寸增加值,所以它確實顯示爲一個新的窗口,不是標籤。 有一個重要的細節。應你需要一個單獨的窗口中顯示每個切片,所以你需要改變它的名字:

var WindowName="Details"+args.point.x; 

或者一旦用戶點擊另一個選項卡上,你可以使用一個窗口,如果不開放會顯示下一個數據:

var WindowName="Details"; 
相關問題