Привет.
Проверьте вот этот параметр.
filter: selector,
у вас в selector точно данные попадают?
Вообще говоря, попробуйте вот этот код
$('.works').isotope({
filter: "тут сразу задайте класс для фильтра изотопа",
});
поместить в success метод аякс фукнции. Оставьте там все по минимуму (закомментируйте), что не влияло ничего при тестировании. Если все сработает, то постепенно добавляйте необходимый функционал. Если вы сразу всю логику будете тестировать, то не сможете сразу определить, где баг. Внедряйте функционал постепенно.
Немного доработал ваш код.
Попробуйте так
$(document).ready(function() {
var $container = $('#movieBox');
var cache = $container.html();
$container.isotope({
itemSelector: '.work'
});
$('#filter a').click(function() {
$('#filter a').removeClass('current');
$(this).addClass('current');
var selector = $(this).attr('data-filter');
$.ajax({
cache: false,
url: 'test2.php?filter=' + selector,
success: function(data) {
// HERE YOU CAN DO SOMETHING WITH YOUR DATA
//Collecting every new isotope in cache
cache += data;
//Making our container clean by destroying the isotope functionality
$container.isotope('destroy');
//Rewriting our new collection of isotopes to our container
$container.html(cache);
//Set new instance of the isotope functionaly in our container using last clicked filter
$container.isotope({
itemSelector: '.work',
filter: selector
});
}
});
$container.isotope({
filter: selector,
animationOptions: {
duration: 1000,
easing: 'easeOutQuart',
queue: false
}
});
return false;
});
});
</script>