2013-10-02 46 views
0

特定數組值我現在有以下數組在javascript改變使用Javascript

var chart1data = [ 
{ "Time": "1", "Temperature": 60, }, 
{ "Time": "2", "Temperature": 50, }, 
{ "Time": "3", "Temperature": 42, }, 
{ "Time": "4", "Temperature": 35, }, 
{ "Time": "5", "Temperature": 28, }, 
{ "Time": "6", "Temperature": 24, }, 
{ "Time": "7", "Temperature": 21, }, 
{ "Time": "8", "Temperature": 19, }, 
{ "Time": "9", "Temperature": 18, }, 
{ "Time": "10", "Temperature": 18, }, 
]; 

我有一個按鈕,在我的HTML按下時,應將上述陣列中的改變值「60」到另一個號碼(例如 - 80)

該按鈕鏈接到此功能。我怎樣才能做到這一點呢?

function updatechart(){ 

//This gets the number from a text box 
var inputdata1 = document.getElementById("textbox1").innerHTML 

//Now I need the code to put this number in replace of the value "60" 
} 
+1

您是否正在使用'innerHTML'來獲取文本輸入的值...? –

+1

爲什麼要代替60而不是其他? – tikider

+0

'chart1data [index] .Temperature = inputdata1;' –

回答

1

您可以按以下步驟更新您的數組:

chart1data[index].Temperature = inputdata1; 

小提琴:http://jsfiddle.net/KyleMuir/sPTG8/1/

希望這有助於

+0

這工作正常。但是,因爲innerHTML是一個字符串,而不是一個值,我所需要的操作不起作用。如何將innerHTML(for exaaple 80或其他)轉換爲80作爲值 – craig

+0

嘗試將innerHTML更改爲如下值:'var inputdata1 = document.getElementById(「textbox1」)。value;' –

0

,如果你想改變60則:

chart1data[0].Temperature = inputdata1; 

else

chart1data[index].Temperature = inputdata1; 
0

簡而言之,你有一個arrayobject。所述對象包含2個屬性,TimeTemperature。陣列內訪問對象,假設你知道索引,你可以這樣做:

alert(chart1data[index].Time) // alerts the time of the first item 
chart1data[index].Temperature = 60; // sets the temperature of the first item 

另外,如果你想更換所有溫度值是60,你可以遍歷您的項目,並簡單地更新他們,像這樣:

for (var i = 0; i < chart1data.length; i++) { 
    if (chart1data[i].Temperature == '60') { 
     chart1data[i].Temperature = '80' 
    } 
}