0

我有一张小地图,我想在上面分别显示两个不同的信息类别。我在我的代码上放置了两个单选按钮,允许用户选择其中一个类别名称,当用户将鼠标移到地图上时,应显示与特定单选按钮相关的信息。我下面的代码仅适用于第一个单选按钮,当我再次选择第二个单选按钮时,会显示第一个信息!你能帮我怎么办吗?同时我的代码结构有效,但我不能在这里全部写出来。

这是我的代码:信息存储在下面的矩阵中:

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

如前所述,我的问题在于如果条件部分它只能调用第一个单选按钮,而我无法为第二个按钮应用条件,你知道吗?谢谢

4

1 回答 1

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

引用太多了...

于 2012-08-07T09:04:53.070 回答