Событие закрытия JQuery удаляет класс из строки таблицы

StackOverflow https://stackoverflow.com/questions/1772008

Вопрос

В настоящее время у меня есть таблица со строками, содержащими кликабельную ссылку.Когда пользователь щелкает ссылку из любой строки таблицы, появляется всплывающее окно модального диалогового окна пользовательского интерфейса JQUery, и я добавляю класс к родительскому tr нажатых ссылок под названием «highlight».Что я хотел бы сделать, так это удалить этот класс из строки, когда диалоговое окно пользовательского интерфейса JQuery закрыто.Кто-нибудь знает, как я могу этого добиться?

Вот как выглядит мое событие загрузки

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

Спасибо

Это было полезно?

Решение

Если у вас всегда есть только одна строка с подсветкой класса, вы можете использовать это:

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

Другие советы

возможно, что-то вроде этого вы ищете:

$(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 метод.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top