3

我已经在我们的网站上实现了 jQuery masonry,效果很好。我们的网站是动态的,用户必须能够添加/删除砌体框。该站点有一个添加示例,但没有删除示例。我们的数据库被查询返回 x 个项目。循环通过它们被加载和显示。这是一个代码示例:(我们使用 F3 框架,F3:repeat 是它的循环机制。)。

<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');
}

有没有人成功删除了一个项目,你是怎么做到的?谢谢。

4

1 回答 1

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');
}
于 2012-10-19T22:20:33.373 回答