【问题标题】:Jquery Ui Sortable: how to detect each fired event?Jquery Ui Sortable:如何检测每个触发的事件?
【发布时间】: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


    【解决方案1】:

    我想你想使用receive() 事件。

    receive: function(event, ui) 
    {
        var board_done = $(this).data('board_done');
        alert( 'Board_done: ' + board_done );
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      相关资源
      最近更新 更多