У меня была похожая проблема - Thickbox отлично работает с данными, которые загружаются на странице, - но когда вы возвращаете динамическое содержимое (с помощью команды jQuery Ajax) ' после загрузки страницы ' - ссылки, содержащиеся в этом новом данные не открываются
Мое решение:
Thickbox вызывает функцию " tb_init " внутри файла thickbox.js, которая выполняется только один раз при загрузке страницы ... вам нужно снова вызвать функцию " tb_init " INSIDE ваша функция jQuery, которая выполняет новый динамический контент сервера!
Вызвать 'tb_init' по следующим трем строкам (эти строки можно найти в верхней части файла "Thickbox.js"):
tb_init('a.thickbox, area.thickbox, input.thickbox, button.thickbox');//pass where to apply thickbox
imgLoader = new Image();// preload image
imgLoader.src = tb_pathToImage;
В качестве примера - это фрагмент кода того, как я начал работать с толстым ящиком над контентом, который я динамически генерировал с помощью команды jQuery Ajax (которая, я думаю, похожа на метод jQuery «Load», который вы используете!?) ...
$.ajax({
method: 'get',url: '<?php echo $url;?>incl_ajax_prices.php',data: 'h=<?php echo $Hid;?>',
beforeSend: function(){$('#PriceLoad').show('fast');}, //show loading just when link is clicked
complete: function(){ $('#PriceLoad').hide('fast');}, //stop showing loading when the process is complete
success: function(html){ //so, if data is retrieved, store it in html
$('#Prices').show('slow'); //animation
$('#Prices').html(html); //show the html inside .content div
// ThickBox - this allows any dynamically created links that use thickbox to work!
tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
imgLoader = new Image();// preload image
imgLoader.src = tb_pathToImage;
}
}); //close ajax
Вот как я это сделал (я новичок в jQuery), это, вероятно, не лучшее решение, но метод проб и ошибок привел меня к этому методу!
Надеюсь, это поможет?