2014-06-24 2 views
0

Javascript Newbie here.innerHTML: изменение элемента HTML с помощью <select onchange = "">

Я пытаюсь добавить некоторые функции на благотворительный веб-сайт, разрешив пользователям выбирать предпочтительную валюту. Я использую раскрывающийся список для набора с свойством select. Я пытаюсь использовать тег on change, чтобы вызвать функцию JavaScript с getElementByID().innerHTML, чтобы изменить отображение символа валюты, расположенного в отдельном 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) { 
... 

Demo :: 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) { 
Смежные вопросы