3

私はjQuery組積造を私たちのサイトに実装しましたが、それはうまく機能します。私たちのサイトは動的であり、ユーザーは石積みボックスを追加/削除できる必要があります。このサイトには追加の例がありますが、削除の例はありません。私たちのdbは、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番号は一意であり、関数に渡されます。各ボックスを区別するためのdivid#でもあります。さまざまな組み合わせや方法を試しましたが、うまくいかないようです。

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でいっぱいの文字列を石積みの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 に答える