2012-06-10 20 views
5

我想整合同位素,但Iam有問題讓它與AJAX一起工作。無法獲取同位素與AJAX(代碼示例)

下面的代碼:

<script type="text/javascript"> 

var currentPage = 1; 

$(function(){ 
    var getUrl = 'loadMovies.php'; 
    var getQuery = 'genrefilter='+movieSelection.elements["genreFilter"].value; 
    getQuery += '&yearfilter='+movieSelection.elements["yearFilter"].value; 
    getQuery += '&titlesort='+movieSelection.elements["titleSort"].value; 
    getQuery += '&ratingsort='+movieSelection.elements["ratingSort"].value; 
    getQuery += '&yearsort='+movieSelection.elements["yearSort"].value; 
    getQuery += '&runtimesort='+movieSelection.elements["runtimeSort"].value; 
    getQuery += '&currentPage='+currentPage; 

    var $container = $('#movieBox'); 
    //$container.isotope({itemSelector: '.movie'}); 

    $.ajaxSetup({cache:false}); 
    var ajax_load = "<img class='loading' src='images/load.gif' alt='loading...' />"; 

    //$("#genreFilter").change(function(){$container.isotope('insert', ajax_load).load(getUrl, getQuery);}); 


    $("#genreFilter").change(function(){$('#movieBox').html(ajax_load).load(getUrl, getQuery);}); 
}); 

HTML只是「」

隨着註釋掉我真正得到預期顯示div的同位素線,但因爲我無法弄清楚如何工作在同位素線我不能得到它的工作。

我試圖將同位素與「插入」方法相結合,我沒有使用ajax工作。

摘自:http://isotope.metafizzy.co/docs/adding-items.html


「插入方法

更有可能的是,你要使用的插入方法,它的確是爲addItems錯過一切插入將追加內容的容器,過濾器。新的內容,排序的所有內容,然後觸發重新佈局,因此所有項目要素佈局合理。

var $newItems = $('<div class="item" /><div class="item" /><div class="item" />'); 
$('#container').isotope('insert', $newItems); 

最後一行是我需要與ajax線集成,但我只是沒有看到我可以放置它。我曾嘗試過幾種方法,其中一種在註釋掉的行中顯示。

任何人都可以看到問題嗎?

回答

9

得到它像這樣工作:

$(function(){ 

     var $container = $('#movieBox'); 

     $container.isotope({ 
      itemSelector: '.movie' 
     }); 

     $.ajaxSetup({cache:false}); 
     var ajax_load = "<img class='loading' src='images/load.gif' alt='loading...' />"; 

     $('#genreFilter').change(function(){ 

$('#genreFilter').change(function(){ 

      var getQuery = 'loadMovies.php?'; 
      getQuery += 'genrefilter='+movieSelection.elements["genreFilter"].value; 
      getQuery += '&yearfilter='+movieSelection.elements["yearFilter"].value; 
      getQuery += '&titlesort='+movieSelection.elements["titleSort"].value; 
      getQuery += '&ratingsort='+movieSelection.elements["ratingSort"].value; 
      getQuery += '&yearsort='+movieSelection.elements["yearSort"].value; 
      getQuery += '&runtimesort='+movieSelection.elements["runtimeSort"].value; 
      getQuery += '&currentPage='+currentPage; 

      return $.ajax({ 
       cache:false, 
       url: getQuery, 
       success: function(data){$container.isotope('insert', data)} 
       }); 
      }); 

    }); 
+0

我幾乎一模一樣的代碼,但它不爲我工作:( – leen3o

+0

@ leen3o這是一個老問題,同位素可能已經改變,或者它只是一個在某處出現小錯誤,很容易錯過,因此請嘗試雙重檢查任何缺少的語法。 – DominicM