2010-10-13 69 views
1

我有兩個表,我想在一個表上有更改事件。 這就是當我點擊第一張桌子時,我想對第二張桌子進行一些更改。但不知何故下面的改變功能不起作用。有什麼建議麼?jquery更改()函數不起作用

$("#history_table table:eq(0)").click(function(){ 
        $("#history_table table:eq(1) thead tr th:nth-child(1)").html("New"); 
       }); 

$("#history_table table:eq(1) thead tr th:nth-child(1)").change(function() { 
         alert('Handler for .change() called.'); 
       }); 

這裏history_table是一個div標記id,它有兩個表。 click()函數正在工作,但我期望看到警報消息,但這並未顯示。

回答

4

.change()事件/處理程序不適用於(或默認情況下爲此),它用於輸入樣式元素更改數據,例如<input><select>。相反,你會希望有一個自定義的事件(或手動射擊change ...)這裏,例如:

$("#history_table table:eq(0)").click(function(){ 
    $("#history_table table:eq(1) thead tr th:nth-child(1)").html("New") 
    .trigger('myEvent'); 
}); 

$("#history_table table:eq(1) thead tr th:nth-child(1)").bind('myEvent', function() { 
    alert('Handler for .change() called.'); 
}); 
+0

感謝尼克,它工作正常。但是如果我想讓我的第二個表總是監聽一個事件,而不是從另一個函數調用觸發器,那麼當有人更改第二個表值時,我會自動顯示警報消息。有什麼辦法嗎? – jgg 2010-10-13 17:47:25

+0

@goutham - 不是一個內置的跨瀏覽器一個nope ...這將是非常昂貴的監測:) – 2010-10-13 22:11:45