2013-03-21 86 views
1

我有以下代碼:一類的表裏面有一個id選擇按鈕

<table id="my_table"> 
<tr> 
    <td> 
     <button class="btn_save" value="1">Save</button> 
    </td> 
</tr> 
</table> 

我想選擇按鈕

我曾嘗試:

$('#my_table .btn_save').click...... 
$('table#my_table .btn_save').click...... 
$('table td .btn_save').click...... 
$('table td :button.btn_save').click...... 

似乎沒有任何工作,我錯過了什麼?

順便說一句,我不能把一個id放在按鈕上,因爲這將是一個有很多按鈕的dynamycally生成的表,這就是爲什麼我選擇了class的方式。

+0

秀喲前加入你的js點擊處理程序 – Huangism 2013-03-21 20:46:01

+0

這可能是因爲它是「動態」使用委託:) – 2013-03-21 20:46:08

+0

我有一個簡單的警報('你好');只是爲了檢查按鈕的功能, – kastulo 2013-03-21 20:46:47

回答

2

所有的選擇器都可以。 (Here is a working jsFiddle

我看到了兩個可能的問題:

無論你的數據是動態添加,在這種情況下,你需要使用事件delagation使用.on()

$(document).on("click",'#my_table .btn_save',function(){ 
    //what you're doing 
}); 

另一種可能性是,選擇數據,在這種情況下,你需要把你的陳述在$(document).ready條款

$(function(){ 
    $('#my_table .btn_save').click...... 
}); 
+0

好的謝謝,這是代表團的東西,完美的作品,再次感謝所有! – kastulo 2013-03-21 20:52:37

+0

我會在4分鐘內 – kastulo 2013-03-21 20:55:01

0

確保在運行代碼時dom中存在表和按鈕。

$(function(){ 
     var button = jQuery("#my_table button.btn_save") 
}); 
0

不管你點擊這些按鈕的頻率如何。不保證他們提交表格!您必須將它們更改爲type="submit"而不是type="button"

+4

這個問題'不要說任何關於提交表單的事,關於無法獲得jQuery代碼來選擇有問題的按鈕 – nnnnnn 2013-03-21 20:48:01

+0

好吧,它只是我感染的東西,沒有更多 – ITroubs 2013-03-21 20:49:10

2

由於您正在動態生成表格和內容,因此請使用.on()委派單擊事件。嘗試

$(document).on('click', '#my_table .btn_save', function(){......