2012-08-27 135 views
0

我以前見過這個問題,但是我看到的所有答案都不適用於我的特定問題。我見過的大多數是由於沒有在文檔就緒功能中使用點擊引起的。 setup_calenders和disable_items中的所有東西都會發生,但點擊複選框時不會彈出警報。JQuery點擊功能不起作用

$(document).ready(setup) 

function setup() { 
$("id_Clearance").click(enable_clearance); 
$("id_Paperwork").click(enable_paperwork); 
$("id_AVSupport").click(enable_support); 
setup_calendars(); 
disable_items(); 
} 

function enable_paperwork() 
{ 
alert("clicked"); 
} 
+0

使用.on()來避免這個問題。 – mddw

+0

這在這種情況下不起作用。 'click()是.bind(「click」,處理函數)的快捷方式,以及.on(「click」,handler)從jQuery 1.7'開始的快捷方式。對於.on(「click」,處理程序)而言,不是for .on(「click」,selector,handler) – jnylen

+0

)您正在更新/替換頁面上的元素。 – mddw

回答

6

你缺少#跡象表明,選擇應匹配的元素ID:

$("#id_Clearance").click(enable_clearance); 
$("#id_Paperwork").click(enable_paperwork); 
$("#id_AVSupport").click(enable_support); 
+0

謝謝,我知道這是愚蠢的。 – bgrantdev

+1

@bgrantdev別忘了接受答案:) –

+0

我在那裏做了一些塊設置,讓我等待接受:) – bgrantdev

1

這是你想要的嗎?

function setup() { 
    $("#id_Clearance").click(enable_clearance); 
    $("#id_Paperwork").click(enable_paperwork); 
    $("#id_AVSupport").click(enable_support); 
    setup_calendars(); 
    disable_items(); 
} 

您需要在元素ID之前包含#以選擇id。只是像這樣的名字尋找一個標籤。例如:

<id_Clearance/> 

jQuery有很好的文檔:http://api.jquery.com/category/selectors/

0

我可能是錯的,因爲我沒有你的HTML源代碼,但它看起來像你可能不會有ID的正確選擇。

目前,你這樣做是:

$("id_Clearance").click(enable_clearance); 
$("id_Paperwork").click(enable_paperwork); 
$("id_AVSupport").click(enable_support); 

如果這些確實應該是頁面上的元素的ID,您會想要將它改成這樣:

$("#id_Clearance").click(enable_clearance); 
$("#id_Paperwork").click(enable_paperwork); 
$("#id_AVSupport").click(enable_support); 

注意選擇器開始時的#號。這就是用來選擇一個ID。