2015-06-27 18 views
1

我想給用戶一個遊戲的主題選項。下面是在.js文件的代碼如下所示:新鮮的眼睛請 - 主題問題 - jquery/select

var clicks = 0; 
    $("#theme").on("click", function(){ 
     clicks++; 
     if(clicks == 1){ 
      var themeVal = $("#theme").val(); 
      var url = "url(../images/backgrounds/" + themeVal + ".jpg)"; 
      $("body").css('background-image', url); 
      clicks = 0; 
     } 
    }); 

下面是HTML的一個短版:

<select id="theme"> 
    <option value="" disabled="disabled" selected="selected">Select theme</option> 
     <option value="tropical_beach">Beach</option> 
     <option value="forest">Forest</option> 
        .... 
</select> 

,這裏是我的文件結構:

file structure

在控制檯中,我沒有收到任何錯誤,並且所有的值都按照預期的方式返回......但是當我從下拉菜單中選擇一個新的時,背景沒有變化。我可能忽略了一些小事。你的眼球是讚賞;)

更新:

var clicks = 0; 
    $("#theme").on("change", function(){ 
     clicks++; 
     if(clicks == 1){ 
      var themeVal = $("#theme").val(); 
      var url = "url('../images/backgrounds/" + themeVal + ".jpg')"; 
      $("body").css('background-image', url); 
      clicks = 0; 
     } 
    }); 
+2

第一件事。對'select'使用'change'事件而不是點擊。接下來嘗試使用'url('...')'加引號。 –

+2

點擊'select'即可點擊,而不是在選擇選項時點擊。其餘的看起來很好http://jsfiddle.net/2ttvf93r/。 –

+0

好吧,我拿出所有點擊的東西,並改變它。現在看起來是這樣的:$( 「#主題」)變化(函數(){ \t \t \t VAR themeVal = $( 「#主題」)VAL(); \t \t \t VAR URL =「URL(」 ../images/backgrounds/「+ themeVal +」.jpg')「; \t \t}); – HolyMoly

回答

0

爲什麼不嘗試使用更改事件?

$("#theme").change(function() { 

}); 
+0

感謝您的回覆marhs08,我試過了,它不工作...不知道如果我做得對,我更新我的問題,如果你想看一看 – HolyMoly