JQuery Close Event从表行中删除类

时间:2009-11-20 17:22:18

标签: jquery jquery-ui modal-dialog removeclass

我目前有一个包含可点击链接的行的表。 当用户从任何表行中单击链接时,JQUery的UI模式DIalog会弹出,我将一个类添加到被称为“突出显示”的单击链接父项tr中。 我希望能够做的是在关闭JQuerys UI对话框时从行中删除此类。 有谁知道我怎么能做到这一点?

这是我的加载事件的样子

$(document).ready(function() {
        $("#dialog").dialog({
            autoOpen: false,
            height: 170,
            width: 350,
            center: false
        });

        $('.getData').click(function(e) {
            getResults($(this).attr('id'));
            $(this).parent().parent().addClass("highlight");
            $("div#dialog").dialog('open').dialog('option', 'position', [e.clientX, e.clientY]);
            return false;
        });
    });

由于

2 个答案:

答案 0 :(得分:1)

也许这就是你要找的东西:

$(document).ready(function() {
    $("#dialog").dialog({
        autoOpen: false,
        height: 170,
        width: 350,
        center: false,
        close: function(event, ui) { 
            $("table tr").removeClass("highlight");
        }
    });

    $('.getData').click(function(e) {
        getResults($(this).attr('id'));
        $(this).parent().parent().addClass("highlight");
        $("div#dialog").dialog('open').dialog('option', 'position', [e.clientX, e.clientY]);
        return false;
    });
});

如果您有多个高亮类的行,那么我建议您在$('.getData').click...方法中设置一个全局变量,以便您可以使用close方法进行引用。

答案 1 :(得分:1)

如果你只有一行同时使用hightlight类,你可以使用它:

$("#dialog").dialog({
    autoOpen: false,
    height: 170,
    width: 350,
    center: false,
    close: function(event, ui) {
        $('table .highlight:first').removeClass('highlight'); 
        // A bit faster in theory
    }
});