2010-08-28 49 views
3

我對jQuery相當陌生,我試圖通過從select HTML標記獲取鏈接來切換圖像src屬性。使用select切換圖像

這是選擇HTML,我使用:

<select id="pages"> 
    <option value="Manga/Naruto/Friends/01.png">1</option> 
    <option value="Manga/Naruto/Friends/02.png">2</option> 
    <option value="Manga/Naruto/Friends/03.png">3</option> 
    <option value="Manga/Naruto/Friends/04.png">4</option> 
</select> 

這是我想爲了使用切換圖像src屬性的jQuery腳本:

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
    $("#pages").change(function(){ 
    $('#greatphoto').attr('src', val()); 
    //.val()); 
    }); 
</script> 

這是我試圖切換圖像的佔位符:

<div id="mangaImages"> 
    <img id="greatphoto" src="Manga/Naruto/Friends/01.png" /> 
</div> <!-- end of mangaImages --> 

An y幫助這將不勝感激。

回答

0

這樣做:

$(function() { 
    $("#pages").change(function(){ 
     $('#greatphoto').attr('src', this.value); // Could use $(this).val() too. 
    }); 
}); 

$(function() {...});包裝一下你的代碼,確保它運行之前DOM被加載。這是調用jQuery的.ready()方法的捷徑。

現在你的<select>沒有得到change事件,因爲它在代碼運行時還不存在。

+0

非常感謝,解決了問題 – dbomb101 2010-08-28 14:35:23

+0

@ dbomb101 - 不客氣。 :O) – user113716 2010-08-28 14:36:53

2

你可以嘗試

$(this).val() 

,而不是

val() 
+0

我試過了,但它沒有解決問題 – dbomb101 2010-08-28 14:20:30

+0

是的,你還有其他的probs,檢查其他的答案,幾乎所有基本的jQuery操作,你會把代碼放到文檔就緒事件處理程序中。 – babtek 2010-08-28 15:21:39