jQuery事件(动态)表行更改

时间:2012-10-19 12:03:07

标签: jquery jsp events

所以我一直在尝试监视动态表在行和tbody中的变化时间。这是结构的一个例子:

<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");
            });
        })

希望有人可以提供帮助, 提前谢谢!

3 个答案:

答案 0 :(得分:4)

您无法在表格上使用更改事件。查看jquery文档

  

更改事件在其值更改时发送到元素。此事件仅限于元素,框和元素。对于选择框,

Jquery Documentation on the change event

也许您可以尝试轮询表并计算表行并查看该值是否发生变化,但这对性能不利。

答案 1 :(得分:1)

将您的表重写为div或其他标签,为他们创建css规则以根据需要设计它们,您将能够为您的&#34; root&#34;定义更改事件处理程序。格。

答案 2 :(得分: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();
});