2013-03-30 100 views
0

我很難理解這一點。 我有此位代碼:javascript innerhtml返回值

document.getElementById("widget-container-1").innerHTML="<div class='title'>Select town: "+ 
     "<select id='drop'>"+ 
     "<option name='Auckland' value='Auckland'>Auckland</option>"+ 
     "<option name='Christchurch' value='Christchurch'>Christchurch</option>"+ 
     "<option name='Dunedin' value='Dunedin'>Dunedin</option>"+ 
     "<option>Hamilton</option>"+ 
     "<option>Tauranga</option>"+ 
     "<option>Wellington</option>"+ 
     "</select><br />"+  
     "<button id='update' name='update' onClick=\"this, _refreshWeatherDisplay(test);'\">update</button></div>"+ 
     "<div class='monitor'>Sort by"+ 
     "<input id='radio' name='input' type='radio' value='0' >town"+ 
     "<input id='radio' name='input' type='radio' value='1' >max temp"+ 
     "<div class='section'>test</div></div>";   

     select = document.getElementById("drop"); 
     select.onchange = function(){ 
      _checkNewTown(this.options[this.selectedIndex].text); 
     }; 

我想要得到的數據,並執行其他功能:

var _checkNewTown = function(ntown){ 
    alert(this.selectedIndex); 
} 

但是,在-checkNewTown功能是保持收益indefined。 當我嘗試提醒它時,該按鈕不起作用。

var _refreshWeatherDisplay = function(weather_info){ 
alert("test"); 
} 

我所知道的是可能是簡單的,但我不知道我在做什麼錯 如果有人可以幫助我將非常appreciatted。

+0

要麼我不明白這一點,或者你可以調用另一個函數:'callFunction(數據);' – Daniel

+2

問題是什麼?你嘗試把'_checkNewTown(this.options [this.selectedIndex] .text);'在onchange函數中? – tcovo

+0

請注意,對於select元素,更改事件在不同瀏覽器之間有所不同。例如。在調度變更事件之前,控件可能需要在某些瀏覽器中失去焦點,但不需要其他瀏覽器。如果通過光標鍵導航,每次按下光標鍵以突出顯示新選項時,IE都會分派更改事件。 – RobG

回答

0

代碼中存在相當多的語法錯誤,請查看瀏覽器的控制檯以便跟蹤這些錯誤(F12爲IE9和Chrome,Firefox中爲Ctrl + Shift + J)。此代碼工作正常在我結束:

document.getElementById("widget-container-1").innerHTML = "<div class='title'>Select town: "+ 
    "<select id='drop'>"+ 
    "<option name='Auckland' value='Auckland'>Auckland</option>"+ 
    "<option name='Christchurch' value='Christchurch'>Christchurch</option>"+ 
    "<option name='Dunedin' value='Dunedin'>Dunedin</option>"+ 
    "<option>Hamilton</option>"+ 
    "<option>Tauranga</option>"+ 
    "<option>Wellington</option>"+ 
    "</select><br />"+  
    "<button id='update' name='update' onClick=\"_refreshWeatherDisplay('test');\">update</button></div>"+ 
    "<div class='monitor'>Sort by"+ 
    "<input id='radio' name='input' type='radio' value='0' >town"+ 
    "<input id='radio' name='input' type='radio' value='1' >max temp"+ 
    "<div class='section'>test</div></div>";   
select = document.getElementById("drop"); 
select.onchange = function(){ 
    _checkNewTown(select.options[select.selectedIndex].value); 
}; 

而且你的功能:

var _checkNewTown = function(ntown){ 
    alert(ntown); 
}; 
var _refreshWeatherDisplay = function(weather_info){ 
    alert("test"); 
}; 
+0

感謝您的回覆,是的,有幾個錯誤,因爲我的代碼不完整,我試圖學習JavaScript,並決定創建一個天氣部件,但沒有發現很多東西,一切都已經完成,我想從開始學習。希望找到教程或什麼來幫助我。謝謝 – KleberBH