2012-10-19 2 views
3

Я внедрил каменную кладку jQuery на наш сайт, и он отлично работает. Наш сайт динамичен, и пользователи должны иметь возможность добавлять/удалять кладки. На сайте есть пример добавления, но нет примера удаления. Наш db запрашивается, возвращая x количество элементов. Перемещение через них загружается и отображается. Вот пример кода: (мы используем фреймворк F3 и F3: repeat - это механизм циклирования).jQuery Масонство удалить функцию пример

<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 номер идентификатора элемента уникален и передается в функцию. Это также идентификатор 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, методу удаления кладки. Передайте ему фактический обернутый элемент 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

Смежные вопросы