2013-01-19 46 views
0

我有五個圖像。當我點擊一個我想要一個警告框打開。現在就進行測試。它沒有觸發任何東西。任何建議爲什麼它不是?謝謝。開關沒有觸發

$(document).ready(function() { 
$("input:image").click(function(evt) { 
evt.preventDefault(); 
setSearch($(this).val());}) 
}) 


function setSearch() 
{ 
    switch(this){ 
     case "Place": 
      alert("Case is Place"); 
      break; 
     case "Cuisine": 
      alert("Case is Cuisine"); 
      break; 
     case "City": 
      alert("Case is City"); 
      break; 
     case "State": 
      alert("Case is State"); 
      break; 
     case "ZipCode": 
      alert("Case is ZipCode"); 
      break; 
     } 
} 

在圖像

<td width="192"><div align="center"> <input name="Place" type = "image" id="Place" value = "Place" src="../Glass-Place.jpg" alt="Place" 
+0

什麼是'$(N)'N' .VAL()'?你是不是指'$(this).val()'? – VisioN

+0

圖像的ID。請參閱修改後的代碼以瞭解圖像上的內容。 –

+1

您調用'setSearch'的方式,'this'指的是'window'。你是不是想轉換傳遞給函數的第一個參數? –

回答

1

我想這是因爲nclick處理程序中定義。

嘗試,而不是執行以下操作:

$("input:image").click(function(e) { 
    setSearch(this.value); 
    e.preventDefault(); 
}); 
+0

仍然無法正常工作。這可能是問題嗎?開關(此) –

+0

您對setSearch方法的更改無效。回滾到第一個版本。 – VisioN

+0

謝謝你的幫助。 –

0

這工作。

$(document).ready(function() { 
$("input:image").click(function(e) { 
var n = setSearch(this.value); 
e.preventDefault(); 
});}) 

這....

function setSearch(n) 
{ 
    switch(n){ 
     case "Place": 
      alert("Case is Place"); 
      break; 
     case "Cuisine": 
      alert("Case is Cuisine"); 
      break; 
     case "City": 
      alert("Case is City"); 
      break; 
     case "State": 
      alert("Case is State"); 
      break; 
     case "ZipCode": 
      alert("Case is ZipCode"); 
      break; 
     } 
}