L'accesso e l'uso $ risultati .post facilmente?
Domanda
Nel tentativo di creare una pagina in cui gli utenti possono cercare gli elementi sul lato sinistro della pagina, e trascinare e rilasciare le voci che vogliono sulla destra, un po 'come un carrello della spesa.
Sono stato con
$(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));
}
});
});
per il drag & drop che funziona come speravo, ma qualunque sia l'utente trascina sul lato destro (#rightcol) si perde quando viene presentata una nuova ricerca. Ho provato a cambiare il modulo di sottoporre ad un uso Ajax con jQuery come questo
$(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;
});
});
Il che funziona alla grande, ma i div (.result) non sono trascinabili. C'è un modo per inizializzare facilmente gli elementi (.result) senza aggiornare la pagina?
Soluzione
Credo che non sono trascinabili perché sono stati creati dopo che hai definito quali elementi sono trascinabili.
(Che significa -. Sono creati dopo la chiamata $(".result").draggable(...
)
Penso che si dovrebbe dare un'occhiata a dal vivo ()