2014-02-05 42 views
-1

當按鈕被點擊時這個事件被觸發,我做了腳本標記作爲事件持有者。設置是這樣的:我有6個按鈕,我從btn1到btn6做了6次。Jquery Switch語句的Javascript標籤

<input type="button" id="btn1" value="AUS"> 

<script type="text/javascript"> 
    var modal = document.getElementById('modal'); 
    var shade = document.getElementById('shade'); 

    document.getElementById('btn1').onclick = function() { 
     var src = "img2/Australia.jpg"; 
     var img = document.getElementById("placeholderImg"); 
     img.src = src; 
     img.style.display = "inline"; 
     modal.style.display = shade.style.display = 'block'; 
    }; 

    document.getElementById('close2').onclick = function() { 
     modal.style.display = shade.style.display = 'none'; 
    }; 
</script> 

我說完後,我發現他們的工作但有他們停止運作的情況下,我的朋友向我建議,「如果你使用一個jQuery switch語句?」。這是我想出的,但如果你能幫我指出我的錯誤,我就無法工作。我會很感激。

jQuery代碼:

$('.sbutton').on('click', function() { 
    switch (this.val()) { 
    case 'btn1': 
     var src = "img2/Australia.jpg"; 
     var img = document.getElementById("placeholderImg"); 
     img.src = src; 
     img.style.display = "inline"; 
     modal.style.display = shade.style.display = 'block'; 
     break; 
    } 
}); 

回答

3

在事件處理程序,this是土生土長的DOM元素。

變化

switch (this.val()) { 

switch ($(this).val()) { 

或(更好)

switch (this.value) { 

但是,你應該已經看到在控制檯的錯誤。請閱讀Using the console