Если вы проверяете Thickbox в действии с помощью Firebug, вы можете видеть, что модал Thickbox на самом деле является div внутри главной страницы. Вы можете просто вызывать любую функцию на главной странице из коробки.
Например, этот код будет «перехватывать» ссылку закрытия «box» и выполнять дополнительные действия:
$("#TB_closeWindowButton").click(function(){
tb_remove();
//do extra stuffs, such as get a new select
var select_parent = $('#theselect').parent();
$.get('new_select.php',
{},
function(data){
select_parent.html(data);
});
});
Помимо перехвата ссылки на толстый ящик, вы также можете поместить код в любую ссылку внутри толстого ящика. Просто убедитесь, что вы звоните tb_remove()
, чтобы закрыть окно Thickbox, до или после вашего пользовательского кода. Если для этого требуется отправить форму, используйте jQuery plugins формы , чтобы отправить форму через AJAX, а затем запустите функцию закрытия при успешной отправке формы.
Об обновлении окна выбора смотрите мой ответ здесь о том, как сделать так, чтобы он работал в каждом браузере.
Чтобы убедиться, что ваша функция всегда вызывается, вы можете установить в параметре Thickbox режим modal
, который отключит клавишу выхода. Не забудьте указать код закрытия, так как по умолчанию панель толстых ящиков не отображается.