【发布时间】:2014-06-12 10:41:58
【问题描述】:
情况是这样的:
我有一个简单的应用程序,它使用 Jquery Ui Sortable (http://jqueryui.com/sortable/#portlets) 在三个不同的列之间拖放项目。
三列名称分别为:
- 待办事项
- 正在进行中
- 完成
当我从第三列的前两列中移动项目时,我需要更改项目的类别(引导面板)并使其变为绿色(面板成功)。
我为每一列分配一个值是/否来标识完成列:
<?
$column_done = 'no';
if ($value_board_column['name'] == 'Done')
{
$column_done = 'yes';
}
?>
<div class="sorted" data-board_done="<?= $column_done ?>">
在 UPDATE 事件中,我提醒 board-done 的值:
update: function(event, ui)
{
var board_done = $(this).data('board_done');
alert( 'Board_done: ' + board_done );
}
这是重点:
UPDATE 事件被触发两次,即 DOM 更改的两次,恰好是当项目从一列中移除并插入另一列时。
所以警报出现了两次。 我第一次看到引用原始列的值,第二次看到引用第二列的值。
例如,如果将一项从 TODO 移动到 DONE,我会在警报中看到:“否”,然后是“是”。
这是问题:
既然我只需要第二个值,我该如何检测呢?
非常感谢!
【问题讨论】:
标签: javascript php jquery jquery-ui jquery-ui-sortable