1

我目前有一个包含可点击链接的行的表。当用户从任何表格行中单击链接时,JQUery 的 UI 模态对话框弹出窗口中,我向单击的链接父 tr 添加了一个名为“highlight”的类。我想做的是在 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;
        });
    });

谢谢

4

2 回答 2

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

于 2009-11-20T17:27:26.223 回答
1

如果您始终只有一行带有类突出显示,则可以使用:

$("#dialog").dialog({
    autoOpen: false,
    height: 170,
    width: 350,
    center: false,
    close: function(event, ui) {
        $('table .highlight:first').removeClass('highlight'); 
        // A bit faster in theory
    }
});
于 2009-11-20T17:28:48.110 回答