2011-08-09 107 views

回答

5

您需要在您的開關聲明每個情況後添加休息。更新JSFiddle here

Wikipedia

休息;是可選的;然而,它通常是需要的,因爲否則代碼執行將繼續到下一個case塊的主體。

作爲預防措施,在最後一個病例的末尾添加一箇中斷聲明,以防以後再添加病例。

更新的Javascript:

$("input[type='button']").click(function() { 
    switch(this.id) { 
    case 'buttonone': $("#content").html("Content changed"); break; //notice BREAK 
    case 'buttontwo': $("#content").html("Content changed again"); break; 
    } 
}); 
+0

非常感謝!我真的很感激它:) – pufAmuf

3
$("input[type='button']").click(function() { 
    switch (this.id) { 
    case 'buttonone': 
     $("#content").html("Content changed"); 
     break; 
    case 'buttontwo': 
     $("#content").html("Content changed again"); 
     break; 
    } 
}); 
+0

'this.id'比'$(this).attr('id')' – andyb

+0

@andyb更快和更具可讀性謝謝你的信息。 – thecodeparadox

+0

謝謝阿卜杜拉,這也清除了我關於使用更多語句的問題:)我感謝你的時間! – pufAmuf

1
$("input[type='button']").click(function() { 
    switch(this.id) { 
     case 'buttonone' : 
      $("#content").html("Content changed"); 
      break; 
     case 'buttontwo' : 
      $("#content").html("Content changed again"); 
      break; 
    } 
}); 
1
$("input[type='button']").click(function() { 
    switch($(this).attr('id')) { 
     case 'buttonone' : $("#content").html("Content changed"); break; 
     case 'buttontwo' : $("#content").html("Content changed again"); break; 
    } 
}); 

你忘了break每種情況後,在年底有一個額外的)},你也需要使用$(this).attr('id')代替this.id