2010-03-10 108 views
2

我的代碼有什麼問題。當我點擊複選框時,什麼也沒有發生檢測複選框已經點擊JQuery?

$(document).ready(function(){ 
    $('input:checkbox[name=drawingNo]').click(function(){alert('I am here');});    
}); 
... 
<body> 
    <form> 
     <input type="checkbox" name="drawingNo" value="1"> 1 <br> 
     <input type="checkbox" name="drawingNo" value="2"> 2 <br> 
     <input type="checkbox" name="drawingNo" value="3"> 3 <br> 
     <input type="checkbox" name="drawingNo" value="4"> 4 <br> 
    </form> 
</body> 

編輯:上面的代碼工作正常。發生在我身上的是,標籤<input type="checkbox">由其他腳本生成,所以當document.ready()啓動時,它不能將單擊事件註冊到複選框,因爲這些複選框還沒有真正存在。所以要修復它:將.click()更改爲.live('click', function(){...})

回答

4

你的選擇是錯的..

下面是最好的格式

$(document).ready(function(){ 
$("input[name='drawingNo']").live('click', function(){ 
alert('I am here'); 
});    
}); 
+0

這正是我在編輯過的文章中所做的。 tyvm :) – 2010-03-11 02:26:27

+0

檢查選擇器格式化的方式「$(」input [name ='drawingNo']「)」並添加了現場活動 – Joberror 2010-03-11 10:30:14

1

它適用於IE,FF和Chrome瀏覽器。

0

嘗試刪除 ':複選框',這樣它看起來像:

$( '輸入[名稱= drawingNo]')點擊(函數(){警報( '我在這裏');});

還好嗎?

+0

剛剛更新了我的帖子 – 2010-03-10 23:57:51

1

使用$ .fn.live ...

$('input:checkbox[name=drawingNo]').live('click',function(){ 
    alert('I am here'); 
});
+0

這正是我在編輯的文章中做了什麼。 tyvm :) – 2010-03-11 02:26:54