Pregunta

Estoy tratando de crear una página en la que los usuarios puedan buscar elementos en el lado izquierdo de la página, y arrastrar y soltar los elementos que desean a la derecha, algo así como un carrito de compras.

he estado usando

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

});

Para el arrastre y la caída que funciona cómo esperaba, pero lo que sea que el usuario se arrastre al lado derecho (#RightCol) se pierda cuando se envía una nueva búsqueda. He intentado cambiar el formulario Enviar para usar Ajax con jQuery como este

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

 });

Lo que funciona muy bien, pero los Divs (.Result) no son arrastrables. ¿Hay alguna forma de inicializar fácilmente los elementos (.result) sin actualizar la página?

¿Fue útil?

Solución

Creo que no son arrastrables porque fueron creados después Has definido qué elementos son arrastrables.
(es decir, se crean después del $(".result").draggable(... llamar.)
Creo que deberías echar un vistazo a En Vivo()

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top