2017-10-04 7 views
0

関数外の変数の値を変更する方法を教えてください。私は自分のコード内の変数 "yr"を、関数更新変数によって選択されたフォームからの値で更新したい。選択値を持つ関数を使用して変数値を変更する

変数「yr」を、私のhtmlのドロップダウンリストの値で更新したいと考えています。次に、 "yr"の値をchart4という別の変数で使用したいとします。私は以下のコードを更新しました。

var yr = "2017"; 
 

 
function updatevariable(data) { 
 
\t \t yr = data; 
 
     console.log(yr); 
 
}; 
 

 
var chart4 = { 
 
    "columns": [ 
 
    { 
 
     "dimension": "dx", 
 
     "items": [ 
 
     { 
 
      "id": "fbfJHSPpUQD" 
 
     } 
 
     ] 
 
    } 
 
    ], 
 
    "rows": [ 
 
    { 
 
     "dimension": "pe", 
 
     "items": [ 
 
     { 
 
      "id": yr 
 
     } 
 
     ] 
 
    } 
 
    ], 
 
    "filters": [ 
 
    { 
 
     "dimension": "ou", 
 
     "items": [ 
 
     { 
 
      "id": "fdc6uOvgoji" 
 
     } 
 
     ] 
 
    } 
 
    ], 
 
    "el": "chart4" 
 
};
<select id="year" name="year" onchange="updatevariable(this.value)"> 
 
    <option value="2017">2017</option> 
 
    <option value="2016">2016</option> 
 
    <option value="2015">2015</option> 
 
    <option value="2014">2014</option> 
 
</select>

+2

あなたはすでに何を持っていますか? –

+0

あなたが持っているコード – random1234

+0

私はコンソールの変数yr関数の外にログを記録するとき私はページの読み込み/更新時に値2017を得ています。しかし、後に別のオプションを選択した後、yrの値が変更されていないように見える。 – iamMash

答えて

0

あなたが書かれた関数は、関数外の変数の値を変更するための正しいものです。
そして

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <script type="text/javascript"> 
     var yr = "2017"; 
     function updatevariable(data) { 
       yr = data; 
     }; 
     function print(){ 
      alert(yr); 
      console.log(yr); 
     } 

    </script> 
</head> 
<body> 
    <select id="year" name="year" onchange="updatevariable(this.value)"> 
    <option value="2017">2017</option> 
    <option value="2016">2016</option> 
    <option value="2015">2015</option> 
    <option value="2014">2014</option> 
    </select> 
    <button onclick="print()">Updated date</button> 
</body> 
</html> 
0

は単にchar4の内側年にドロップダウンメニューが変更されるたびに割り当てを追加する、ということを理解するための簡単なデモ。

願っています。

var yr = "2017"; 

function updatevariable(data) { 
     yr = data; 
     chart4.rows[0].items[0].id = yr; 
     console.log(chart4.rows[0].items[0].id); 
}; 

var chart4 = { 
    "columns": [ 
    { 
     "dimension": "dx", 
     "items": [ 
     { 
      "id": "fbfJHSPpUQD" 
     } 
     ] 
    } 
    ], 
    "rows": [ 
    { 
     "dimension": "pe", 
     "items": [ 
     { 
      "id": yr 
     } 
     ] 
    } 
    ], 
    "filters": [ 
    { 
     "dimension": "ou", 
     "items": [ 
     { 
      "id": "fdc6uOvgoji" 
     } 
     ] 
    } 
    ], 
    "el": "chart4" 
}; 
関連する問題