2012-10-19 60 views
0

所以我一直在試圖監視時行和TBODY的我的動態表變化..這裏的結構的一個例子:jQuery的事件改變

<table id="assignedTable"> 
    <tbody class="assigned"> 
     <tr id="#uniquenumberhere"> 
     </tr> 
     <tr> 
     </tr> 
    </tbody> 
</table> 

這是我得到了什麼到目前爲止..但它不工作:

$(function(){ 
      $('#assignedTable').on('change', '.assigned', function(){ 
       $('#assignableTbody').append("dynamic table changed"); 
      }); 
     }) 

希望有人能幫助, 提前感謝!

+0

您可能會發現這個答案有用:http://stackoverflow.com/questions/3233991/jquery-watch-div/3234646#3234646 – Laurence

+0

謝謝您的回答 – Davey

回答

4

您不能在表上使用更改事件。查看jQuery文檔

當元素值發生變化時,將更改事件發送給元素。此事件僅限於元素,框和元素。對於選擇框,

Jquery Documentation on the change event

或許你可以嘗試輪詢表和計數錶行,看看是否有值的變化,但是這是不好的表現。

+0

好吧..錯過了非常感謝您的回答!我會想到一個不同的解決方案 – Davey

1

將表格重寫爲div或其他標記,爲他們創建css規則以根據需要設計它們,並且您將能夠爲「root」div定義更改事件處理程序。

0

這是一箇舊的線程,但我以前從來沒有需要這樣做,但通過創建一個函數來調用這個函數時,您可以很方便地選擇一行。

JSFiddle

var checkButton = function() { 
    if ($('tr.selected').length > 0) { 
     $('#analyze').prop('disabled', false); 
    } else { 
     $('#analyze').prop('disabled', true); 
    } 
} 
$('#table tbody').on('click', 'tr', function() { 
    $(this).toggleClass('selected'); 
    checkButton(); 
});