Jquery 是否可以轻松访问和使用$。发布结果?
我正在尝试创建一个页面,用户可以在页面左侧搜索项目,然后将他们想要的项目拖放到右侧,有点像购物车 我一直在使用Jquery 是否可以轻松访问和使用$。发布结果?,jquery,draggable,.post,Jquery,Draggable,.post,我正在尝试创建一个页面,用户可以在页面左侧搜索项目,然后将他们想要的项目拖放到右侧,有点像购物车 我一直在使用 $(function() { $(".result").draggable({ helper: function(event, ui) { return $(this).clone().children("img"); } }); $("#rightcol").droppable({ accept: ".result",
$(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)的任何内容都会丢失。我尝试过将表单submit更改为在jquery中使用ajax,如下所示
$(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)元素 我认为它们不可拖动,因为它们是在您定义了哪些项目可拖动之后创建的。
(意思是-它们是在
$(“.result”).draggable(…
调用)之后创建的。我想你应该看看我认为它们是不可拖动的,因为它们是在你定义了哪些项目是可拖动的之后创建的。
(意思是-它们是在
$(“.result”).draggable(…
调用)之后创建的。我想你应该看看相关的:谢谢,我没有看到这张,我想LiveDragable正是我想要的…相关的:谢谢,我没有看到这张,我想LiveDragable正是我想要的…
.live()
处理事件,而不是新对象本身的初始化。@Orbling:你说得对。这里的建议可能值得研究:。你链接到的问题的投票率最高的答案似乎也提供了一个非常好和优雅的解决方案。我尝试过live,但无法像我希望的那样让它工作,我对jquery非常陌生,但我我想我只需要命名拖动函数,并在函数(数据)中调用它。您是否尝试插入load
事件-$(“.result”).live('load',function(){…});
?您能解释什么不起作用吗?.live()
处理事件,而不是新对象本身的初始化。@Orbling:你说得对。这里的建议可能值得研究:。你链接到的问题的投票率最高的答案似乎也提供了一个非常好和优雅的解决方案。我尝试过live,但无法像我希望的那样让它工作,我对jquery非常陌生,但我我想我只需要命名拖动函数,并在函数(数据)中调用它。您是否尝试插入load
event-$(“.result”).live('load',function(){…});
?您能解释一下什么不起作用吗?