I've completely abandoned the Isotope.js idea and instead I created my own filtering function. Fiddle here.
I have replaced this:
// init Isotope
var $container = $('.rm-data');
$('#search').on('keypress',function(e){
if(e.which == 13){
var query = $('#search').val();
query = "tr:contains("+query+")";
$container.isotope({ filter: query });
console.log(query);
}
});
With this:
$('#search').on('keypress',function(e){
if(e.which=='13'){
$('.rm-data tr').css('display','none');
$('.error-msg').css('display','none');
var query = $('#search').val();
if($('.rm-data tr').hasClass(query)){
$('.rm-data tr:contains('+query+')').fadeIn('slow',function(){
$('.rm-data tr:contains('+query+')').css('display','block').slideDown();
});
}
}
});