【问题标题】:jQuery event on (dynamic) table row change(动态)表行更改的jQuery事件
【发布时间】:2012-10-19 12:03:07
【问题描述】:

所以我一直在尝试监控我的动态表何时在行和 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");
            });
        })

希望任何人都可以提供帮助, 提前致谢!

【问题讨论】:

标签: jquery jsp events


【解决方案1】:

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

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

Jquery Documentation on the change event

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

【讨论】:

  • 好吧..错过了那么多,谢谢你的回答!我会想一个不同的解决方案
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    这是一个旧线程,但我以前从未需要这样做,但通过创建一个在选择行时调用的函数相当简单。

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

    【讨论】:

      猜你喜欢
      • 2019-08-30
      • 2018-10-19
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多