Событие закрытия JQuery удаляет класс из строки таблицы
-
21-09-2019 - |
Вопрос
В настоящее время у меня есть таблица со строками, содержащими кликабельную ссылку.Когда пользователь щелкает ссылку из любой строки таблицы, появляется всплывающее окно модального диалогового окна пользовательского интерфейса 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
метод.