2012-10-19 22 views
3

我已經在我們的網站上實現了jQuery masonry,它工作的很棒。我們的網站是動態的,用戶必須能夠添加/刪除磚石框。該網站有一個增加的例子,但沒有刪除的例子。我們的數據庫被查詢返回x個項目。循環遍歷它們被加載並顯示。這是一個代碼示例:(我們使用F3框架,而F3:repeat就是它的循環機制)。jQuery Masonry刪除函數示例

<div id="container" class="transitions-enabled clearfix" style="clear:both;"> 
    <F3:repeat group="{{@productItems}}" value="{{@item}}"> 
     <div id="{{@item.itemId}}"> 
     <div class="box"> 
      <div class="view"> <!-- for css --> 
       <a onclick='quickRemove("{{@item.itemId}}")> 
        <img src="{{@item.pic}}" /> 
       </a> 
      </div> 
      <p> 
      {{@item.title}} 
      </p> 
     </div> 
     </div> 
    </F3:repeat> 
</div> 

在JavaScript代碼中,項目ID號是唯一的,並被傳遞到函數中。這也是區分每個框的div ID#。我試過各種組合和方法,但似乎無法得到這個工作。

function quickRemove(item){ 
    var obj = $('#'+item+'').html(); // item is the product id# but also the div id# 
    $('#container').masonry('remove',obj); 

    $('#container').masonry('reloadItems'); 
    $('#container').masonry('reload'); 
} 

有沒有人在那裏成功地刪除了一個項目,你是怎麼做到的? Thx。

回答

4

目前您似乎將一個完整的html字符串傳遞給masonry remove方法。通過它實際jQuery包裹元素不包括.html()

function quickRemove(item){ 
    var obj = $('#'+item+''); // item is the product id# but also the div id# 
    $('#container').masonry('remove',obj); 

    $('#container').masonry('reloadItems'); 
    $('#container').masonry('reload'); 
} 
+0

Huzzah,工作。謝謝一堆。 – user1760561