jQuery UI可放置问题

时间:2011-05-19 01:14:01

标签: jquery-ui

我有一个使用jQuery UI的可追踪和可放置功能的脚本。

将项目从左侧面板拖动到主区域并放下。

有两种情况:

  1. 项目被放入其他框中,在页面加载时预设,或者可以放入主区域以创建新框。可以在框之间移动项目。这个设置一切正常。

  2. 在第二种情况下,主区域没有预设框。它们应该是在从左侧面板拖放项目时创建的。但是,出于某种原因,它只允许我创建一个盒子。这是一个example

  3. 我的UI熟练程度不足以发现问题所在。

1 个答案:

答案 0 :(得分:1)

您的问题在于此代码:

$.when(createEmptyStack()).then(function(data) { ... }

data始终为"",这意味着您正在尝试一遍又一遍地向页面添加相同id的新元素(您对{{1}的AJAX请求}没有在响应中返回任何内容)。这就是它第一次正常工作的原因; createEmptyStack不存在,因此代码按预期工作。

当您将另一个项目拖动到主区域时,元素可以成功附加,但它具有重复的id。这段代码:

id

(与上面的代码在同一个区块中)

始终使用可拖动对象调用putCardIntoStack(ui.draggable,newstackId); 作为STACK

简而言之,这是服务器端代码没有返回堆栈ID的问题。根据Firebug的说法,你的AJAX请求根本没有返回任何内容。