2012-08-07 61 views
0

我有一個小地圖,我想單獨顯示兩個不同的信息類別。我在我的代碼上放置了兩個單選按鈕,允許用戶選擇這些類別名稱中的一個,並且當用戶在地圖上移動鼠標時,應該顯示與特定單選按鈕相關的信息。我的下面的代碼只適用於第一個單選按鈕,當我再次選擇第二個單選按鈕時,第一條信息會顯示出來!你能幫我嗎?我該怎麼辦?同時我的代碼的結構工作,但我不能在這裏寫所有的。是否可以結合onmouseover(evt)和if條件?

這裏是我的代碼: 的信息都存儲在下面矩陣:

var myCantons = []; 
myCantons[0]=[name,year,population,density,year,population,density]; 
myCantons[1]=[x,1982,1200000,1.2,1992,300000,1.8]; 
myCantons[2]=[y,1982,5000000,4,1992,390000,4.6]; 

的單選按鈕:

<form action=""> 
    <input type="radio" name="againcies" value="SP" 
    "onchange="myShowValues(myEvent)"/> 
    <input type="radio" name="againcies" value="Moody"    
    "onchange="myShowValues(myEvent)"/> 

的功能是:

function myShowValues(myEvent,detaset){ 
    if(dataset==1){ 
    document.getElementById('myLegCantName').firstChild.data = myCantons[Id][0]; 
    document.getElementById('year').firstChild.data = myCantons[Id][1]; 
    document.getElementById('myLegCantVal').firstChild.data =(myCantons[Id][2]); 
    document.getElementById('myLegCantVal2').firstChild.data =(myCantons[Id][3]); 
    } else { 
    document.getElementById('myLegCantName').firstChild.data = myCantons[Id][0]  
    document.getElementById('myLegCantRate').firstChild.data = myCantons[Id][4]; 
    document.getElementById('myLegCantVal').firstChild.data =(myCantons[Id][5]);      
    document.getElementById('myLegCantVal2').firstChild.data =(myCantons[myScrId][6]); 
    } 
} 

地圖包括很多像這樣在一個組中的多邊形:

<g id="myCantons" fill="#A0C544" stroke="#FFFFFF" onmouseover="myShowValues(evt,dataset)"> 

我前面提到的問題是如果條件部分它只能調用第一個單選按鈕,我不能申請如果第二個按鈕的條件,你有什麼想法嗎? THX

+0

我看不到你在哪裏改變了'dataset'變量...但如果你改變它,這將很好地工作 – ManseUK 2012-08-07 08:14:23

+0

哥們,這是我的問題之一!我的代碼不能更改數據集。我已經將數據集定義爲一個通用變量,我已經把var dataset = 1; 2;功能之外。 – 2012-08-07 08:49:04

回答

0

嘗試做這樣的事情:

<input type="radio" name="againcies" value="SP" 
onchange="changeDataset(1)"/> 
<input type="radio" name="againcies" value="Moody"    
onchange="changeDataset(2)"/> 

<g id="myCantons" fill="#A0C544" stroke="#FFFFFF" onmouseover="myShowValues()"> 

隨後的JavaScript這樣的:

var dataset = 1; // default value 
function changeDataset(newval) { 
    dataset = newval; 
    // plus whatever else you need to do here 
    // maybe myShowValues(); ??? 
} 

function myShowValues(){ 
    if(dataset == 1){ 
    document.getElementById('myLegCantName').firstChild.data = myCantons[Id][0]; 
    document.getElementById('year').firstChild.data = myCantons[Id][1]; 
    document.getElementById('myLegCantVal').firstChild.data =(myCantons[Id][2]); 
    document.getElementById('myLegCantVal2').firstChild.data =(myCantons[Id][3]); 
    } else { 
    document.getElementById('myLegCantName').firstChild.data = myCantons[Id][0]  
    document.getElementById('myLegCantRate').firstChild.data = myCantons[Id][4]; 
    document.getElementById('myLegCantVal').firstChild.data =(myCantons[Id][5]);      
    document.getElementById('myLegCantVal2').firstChild.data =(myCantons[myScrId][6]); 
    } 
} 

幾件事情要注意..這心不是有效HTML:

"onchange="myShowValues(myEvent)" 

有太多的報價...

+0

wowwwwwwwwwww!太好了! thx夥伴功能changedataset解決了我的問題! 許多thx朋友 – 2012-08-07 10:41:17

相關問題