-3

我是 javascript 新手,现在我有一个问题。我们如何使用单选按钮来引用一个功能?我有国家名单,这个名单包括人口、面积和密度。我想在我的脚本中添加单选按钮,例如当我选择单选按钮“区域”时,此功能返回另一个功能并从另一个功能中提取国家区域。我已经编写了这些函数,但它仅适用于区域。例如,当我选择它引用此函数的密度按钮并提取这些国家的密度时,我需要在此脚本中添加 3 个单选按钮
,然后第二个函数将更改颜色。请帮我

var myCantons = []; 
myCantons[0] = ["Name Country","area km²","density",Population];
myCantons[102] = ["Germany",221.90,2696,117];
myCantons[106] = ["Italy",271.50,6510,485];
myCantons[107] = ["Denmark",141.31,2661,406];
myCantons[122] = ["Poland",286.25,3331,237];
myCantons[130] = ["Russia",124.49,5099,431];

 function myInit(){
   for(var i = 100; i < myCantons.length; i++){
    if(typeof myCantons[i] != 'undefined'){
        var myDensity = myCantons[i][2] ;
    var myNewColor = '';
    if(myDensity < 110){
         myNewColor = 'yellow';
         } else if (myDensity > 250){
           myNewColor = 'red';
         } else {
           myNewColor = 'orange';
         }
     var mySvgId ='myCantonId'+(''+i).substr(1);
     document.getElementById(mySvgId).setAttributeNS(null,'fill',myNewColor);
         }
      }
}
4

2 回答 2

0

您可能想查看 DOM 事件。

var handleChange = function (e) {
    if(e.target.checked) {
        // do something if the checkbox was selected
    } else {
        // do something if the checkbox was deselected
    }
}

document.getElementById("myCheckbox").addEventlistener("change", handleChange, false);

您可以将更改事件附加到任何输入元素并监视它的状态。对于将成为checked属性的复选框/单选按钮。如果输入被选中,则为真。

于 2012-08-03T08:48:57.290 回答
0

我们可以放三个单选按钮

<input type="radio" name="group1" id="area" value="area" onClick="myInit(this)"/>
<input type="radio" name="group1" id="density" value="density" onClick="myInit(this)" />
<input type="radio" name="group1" id="population" value="population" onClick="myInit(this)"/> 

myInit 函数将被修改如下以获取单选按钮对象的参数。

myInit(myradio)
{

    if(myradio.checked == true && myradio.value=='area')
        //Here logic for returning area will come

    else if(myradio.checked == true && myradio.value=='density')
        //Here logic for returning density will come

    else if(myradio.checked == true && myradio.value=='population')
        //Here logic for returning population will come
}
于 2012-08-03T09:05:51.547 回答