2

我试图阻止表格行,但我无法这样做。我正在使用 jquery 插件,blockUI。

我的代码:

var dis_tr = $("input[name=abc]").closest('tr')
dis_tr.block({message: null});

谁能帮我?

4

2 回答 2

4

问题是,在 table 的情况下,除了 td 元素之间我们不能写任何东西。而且我们不能阻止整行。取而代之的是,我们必须阻止每个 td 元素。为此,我编写了使用 blockUI 的阻止/解除阻止函数的新函数。

// Functions added to block/unblock table rows by using blockUI jquery library
$.fn.block_row = function(opts) {
    row = $(this)
    height = row.height();
    $('td, th', row).each(function() {
        cell = $(this);
        cell.wrapInner('<div class="holderByBlock container" style="width:100%; height: ' + height + 'px; overflow: hidden;"></div>');
        cell.addClass('cleanByBlock');
        cell.attr('style', 'border: 0; padding: 0;')
        $('div.holderByBlock', cell).block(opts);
    })
};

$.fn.unblock_row = function(opts) {
    row = $(this)
    $('.cleanByBlock', row).each(function() {
    cell = $(this);
    $('div.holderByBlock', cell).unblock({
        onUnblock: function(cell, opts) {
            this_cell = $(cell).parent('td, th');
            this_cell.html($('.holderByBlock', this_cell).html());
            this_cell.removeAttr('style');
            this_cell.removeClass('cleanByBlock');
        }
    });
    })
};
于 2012-08-01T10:29:24.933 回答
-2

控制台中是否有任何错误?我从来没有使用过blockUI,所以我怀疑我会不会有很大帮助,但只是从看起来我建议尝试这个:

var dis_tr = $('input[name="abc"]').closest('tr');
dis_tr.block({message: null});
于 2012-07-30T10:11:10.743 回答