-3

私はJavaScriptが初めてで、今1つの質問があります。ラジオボタンを使用して 1 つの機能を参照するにはどうすればよいですか? 国のリストがあり、このリストには人口、面積、密度が含まれています。たとえば、ラジオボタン「エリア」を選択すると、スクリプトにラジオボタンを追加したいと思います。この関数は別の関数に戻り、他の関数から国のエリアを抽出します。これらの関数を作成しましたが、エリアに対してのみ機能します。
たとえば、この関数を参照する密度ボタンを選択し、これらの国の密度を抽出すると、2 番目の関数が色を変更するときに、このスクリプトに 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プロパティとなるチェックボックス/ラジオボタン用。入力が選択されている場合は true です。

于 2012-08-03T08:48:57.290 に答える
0

ラジオボタンを3つ置ける

<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 に答える