Легко использовать и использовать $ .post -результаты?

StackOverflow https://stackoverflow.com/questions/6808735

  •  25-10-2019
  •  | 
  •  

Вопрос

Я пытаюсь создать страницу, на которой пользователи могут искать элементы в левой стороне страницы, а также перетаскивать элементы, которые они хотят, вправо, вроде тележки для покупок.

Я использовал

 $(function() {
 $(".result").draggable({
    helper: function(event, ui) {
    return $(this).clone().children("img");
    }
    });

    $("#rightcol").droppable({
        accept: ".result",
        drop: function(event,ui){
        $(this).append($(ui.draggable).clone());
        //console.log($(ui.draggable));
        }
        });

});

Для перетаскивания, который работает так, как я надеялся, но все, что пользователь перетаскивает на правую сторону (#RightCol), теряется при подаче нового поиска. Я попытался изменить форму отправки на использование Ajax с jQuery, как это

 $(document).ready(function() {
          $("#form").submit( function () {    
          $.post(
           'p_search.php',
            $(this).serialize(),
          function(data){
              //data is what i want to be draggable
              //call other function here
              $(".build").html(data).load();
            }
          );
          return false;   
        });   

 });

Что отлично работает, но Divs (. -Result) не затягиваются. Есть ли способ легко инициализировать (.result) элементы, не обновляя страницу?

Это было полезно?

Решение

Я считаю, что они не затягиваются, потому что они были созданы после Вы определили, какие элементы перетаскиваются.
(значение - они созданы после $(".result").draggable(... вызов.)
Я думаю, ты должен взглянуть на жить()

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top