0

Есть таблица, с кучей ячеек (календарь), в последней строке таблицы одна ячейка, в которой есть несколько div'ов. JS-Код:

$(function(){
  $("div.champ").draggable({
      containment: 'table.calendar',
      snap: 'table.calendar td.drop',
      snapMode: 'inner',
      revert: 'invalid',
      cursor: 'move',
      scroll: false
  });
  $("table.calendar td.drop").droppable({
      accept: "div.champ",
      drop: function(event, ui){
                if (confirm("Сохранить:\nID События: "+ui.helper.attr("id")+"\nна дату:"+$(this).attr("id")+"?")) alert("Сохранено");
            }
  });
});

Суть вопроса в чем... при подтверждении "Сохранено" выводит - все отлично. А как сделать так, чтоб при отмене div возвращался в последнюю строку таблицы и не "дропался"?

DemoS
  • 3,931
  • лучше confirm вынести в отдельный метод и вызывать drop при confirm true – sysashi Dec 16 '11 at 11:51
  • ну логично да, но тогда суть droppable() вообще ломается. Как вызывать confirm? По mouseup? при этом проверять еще над каким элементом кнопку отпустили... Это мне кажется слишком замудрено получается – DemoS Dec 16 '11 at 12:56
  • а если confirm false и и вернуть false в drop? или же по confirm false делать reset объекта... – sysashi Dec 16 '11 at 13:11
  • return false в drop ничего не дает. Т.е. объект все равно дропается – DemoS Dec 16 '11 at 13:16
  • тоже не работает :( к тому же после этого div перестает быть draggable, а курсор остается move – DemoS Dec 16 '11 at 14:05
  • ну блин =// тогда топорно можно попробывать если false то удалить из дума див и заного воткнуть с биндингом – sysashi Dec 16 '11 at 14:38

1 Answers1

0

тогда по confirm false попробуйте $("div.champ")[0].reset(); или просто $("div.champ").reset(); если champ тот самый див

sysashi
  • 374
  • Не сработало, но уже не актуален вопрос. Просто надо было принять. – DemoS Jan 19 '12 at 14:01