2014-06-24 46 views
0

Javascript新手在這裏。innerHTML:使用<select onchange =「」>更改HTML元素>

我想通過允許用戶選擇他們的首選貨幣來增加一些功能到慈善網站。我正在使用屬性爲select的設置下拉列表。我試圖用on change標記調用一個帶有getElementByID().innerHTML的JavaScript函數來更改位於單獨的div中的貨幣符號的顯示。

不幸的是,它不工作,我不清楚爲什麼。 :(

讓我們來看看代碼,好嗎?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <script type="text/javascript"> 
     function symbolChange() { 
      switch (document.getElementById('currencyCode')) { 
       case 'USD': 
        document.getElementById("currencySymbol").innerHTML= "$"; 
        break; 
       case 'EUR': 
        document.getElementById("currencySymbol").innerHTML= "€"; 
        break; 
       default : 
        document.getElementById("currencySymbol").innerHTML= "$"; 
        break; 
       } 
     } 
    </script> 

</head> 

<body> 


    <div id='currencySymbol'> 
     $ 
    </div> 

    <div id='currencyCode'> 
     <select onchange='symbolChange();'> 
       <option name='USD'>USD</option> 
       <option name='EUR'>EUR</option> 
     </select> 
    </div> 
</body> 

上我能做些什麼,使這項工作嗎?你的幫助感謝任何想法!

回答

0

做:

<select onchange='symbolChange(this);'> 
       <option name='USD'>USD</option> 
       <option name='EUR'>EUR</option> 
     </select> 

和js

function symbolChange(obj) { 
var val = obj.value; 
switch (val) { 
... 

演示:: jsFiddle

1

這不是在你的代碼正確:

switch (document.getElementById('currencyCode')) { 

使用此HTML中:

<select id="curVal" onchange='symbolChange();'> 
    <option name='USD'>USD</option> 
    <option name='EUR'>EUR</option> 
</select> 

,並通過更改開關狀態:

switch (document.getElementById('curVal').value) {