Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何从可拖放目标获取数据_Jquery_Jquery Ui - Fatal编程技术网

Jquery 如何从可拖放目标获取数据

Jquery 如何从可拖放目标获取数据,jquery,jquery-ui,Jquery,Jquery Ui,这是交易。我在容器中得到了一些碎片,我希望能够将碎片从一个容器拖放到另一个容器中(从视图侧),但是为了更新我的模型,我需要target的位置(即我放置碎片的容器) 下面是一个简短的JSFIDLE,它演示了我的问题:。 例如,将底部零件拉入中间容器。我希望看到 2 1 但是得到了22。此外,我还希望target与我的drop目标(在本例中是一个容器)匹配 注意:这在jQuery1.6.4上使用过,但在我转到1.7后就停止了工作。您到底想在这里做什么?你不是在找我吗 您还应该将函数移到$(docu

这是交易。我在容器中得到了一些碎片,我希望能够将碎片从一个容器拖放到另一个容器中(从视图侧),但是为了更新我的模型,我需要target的位置(即我放置碎片的容器)

下面是一个简短的JSFIDLE,它演示了我的问题:。 例如,将底部零件拉入中间容器。我希望看到

2
1
但是得到了
22
。此外,我还希望target与我的drop目标(在本例中是一个容器)匹配


注意:这在jQuery1.6.4上使用过,但在我转到1.7后就停止了工作。

您到底想在这里做什么?你不是在找我吗

您还应该将函数移到
$(document).ready(function(){
)之外。页面加载后没有理由加载这些函数

嗯,问题似乎是你没有将
pos
设置在
drop
上。它只是没有得到更新

         drop: function(ev, ui){
             var pos = $(ev.target).data('p_pos');
             var oldpos = ui.draggable.data('p_pos');    
             console.debug(pos);
             console.debug(oldpos);
             console.debug($(ev.target));
         } 

无论如何,我自己找到了这一个。这相当简单-必须将
ui.draggable.data(“p_pos”)
更改为
this.draggable.data(“c_pos”)
,因为在jQuery 1.7.1中,正确地将拖动参数视为
$(this)
,在以前的版本中,我通过ui.draggable获得了该参数


这是一个新的提琴:它工作正常。

这不是我想要的解决方案。此外,如果我将它们从
$(文档)中拉出。ready(function(){
它们将什么也不做,因为它们绑定的元素还不存在。我的问题是我无法获得目标容器的
c_pos
(我将片段拖到容器中)。我的目标是让它发挥作用。不是让它正确(但单独快速)。你到底想要实现什么?我假设两个元素不能相互重叠?当然可以。这是一个模拟(即不忠原型)。我只想从可拖放的
容器中读取
c\u pos
。我把我的可拖动
。工件
打开。我可能应该把
ui.draggable.data('c\u pos')
留下。这可能会把其他人弄糊涂。