Легко получить доступ и использовать результаты $ .post? - PullRequest
1 голос
/ 24 июля 2011

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

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

 $(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;   
        });   

 });

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

1 Ответ

1 голос
/ 24 июля 2011

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

...