我正在尝试创建一个页面,用户可以在其中搜索页面左侧的项目,然后将他们想要的项目拖放到右侧,就像购物车一样。
我一直在使用
$(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));
}
});
});
对于阻力& drop取决于我的希望,但是当提交新的搜索时,无论用户拖到右侧(#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)元素而不刷新页面?
答案 0 :(得分:1)
我认为它们不可拖动,因为它们是之后创建的,您已经定义了哪些项目可以拖动。
(意思是 - 它们是在$(".result").draggable(...
电话之后创建的。)
我想你应该看看live()