2013-08-28 23 views
1

我有一個選擇框,其中有一些選項。當選擇一個選項時,Javascript代碼將獲取所選選項的值,並相應地更改文本的字體。選擇框中的選定值的開關/外殼使用

我想我會使用Switch-Case語句,因爲我有多個選項,但它似乎不工作,沒有任何更改。

的Javascript

function font() { 
    var sf = document.getElementById('box').value; 
    var generate = document.getElementById('generate'); 

    switch (sf) { 
     case 'TimesNewRoman': 
      generate.style.fontFamily('Times New Roman') 
      break; 
     case 'Georgia': 
      generate.style.fontFamily('Georgia') 
      break; 
     case 'PalatinoLinotype': 
      generate.style.fontFamily('Palatino Linotype') 
      break; 
     default: 
      generate.style.fontFamily('Arial') 
    } 
} 

HTML

<select id="box" onchange="font();"> 
    <option id="TNR" value="TimesNewRoman">Times New Roman</option> 
    <option id="GRG" value="Georgia">Georgia</option> 
    <option id="PLT" value="PalatinoLinotype">Palatino Linotype</option> 
</select> 
<br /> 
<div id="generate">This is some text</div> 

我已經在列表中更多的選擇,但我不得不縮短爲簡單起見。

我使用這個語句錯了嗎,還是我完全錯過了一些東西?

+2

我想你的意思來進行分配'generate.style.fontFamily =「帕拉蒂諾Linotype'' – 2013-08-28 09:34:15

回答

3

你尚未進行分配,使用generate.style.fontFamily = "Arial";

+0

我這樣一個愚蠢的錯誤!謝謝你:) – IDJosh

+0

+1例如:http://jsfiddle.net/FXzBU/ – kol