2013-06-04 177 views
-4

我試圖改變的價值基礎上,如果用戶點擊一個按鈕,我有這個代碼,但沒有什麼是當我點擊發生。這是在文件加載後,所以我知道這不是問題。jQuery .click方法不工作

$('#delete').click(function() 
{ 
    document.getElementById("deletedHidden").value= "yes"; 
    alert("Click hit.");  
}); 

,這是HTML

<tr> 
    <td><input id="delete" name="delete" type="button" value="Delete"> 
+0

警報是否解僱?如果不是,請嘗試註釋掉'document.get ...',然後查看警報是否有效。問題是,在顯示的HTML中,沒有元素的ID爲'deletedHidden'。 –

+0

您是否在創建按鈕後綁定事件?把你的代碼放到$(function(){...}) – maxlego

+0

這是整個HTML嗎?我可以假設在一張桌子裏,對吧?什麼是'deletedHidden'? –

回答

1

有你的問題,有兩種可能的原因:

1)元素#delete根本不綁定處理程序的時間存在。將處理程序移動到$(document).ready塊中,或通過on()使用事件委派。

2)當點擊處理程序觸發時,元素#deletedHidden不存在。 getElementById將返回null如果它找不到該元素,並且null.value將引發異常。 JavaScript在遇到異常時將停止解釋,這意味着alert永遠不會觸發。

+0

單擊此按鈕時,元素#deletedHidden與此無關。它在$(document).ready中。 – user2415335

+0

我在.value更改之前移動了警報,仍然沒有發生火災。它仍然坐在document.ready中。 – user2415335