2010-02-25 2 views
0

, вероятно, лучше всего, если я сначала просто напишу свой код. У меня есть:Спрятать перетаскиваемый после его сброса (scriptaculous)

<li class="sorted" id='<%= domid %>'> 
    <%= horse.name %> 
</li> 
<%= draggable_element(domid, :ghosting=>true) %> 

после падения на какое-то «поле» перетаскиваемую элемент с именем = horse.name остается на нем. Я хочу удалить его (имя). я пробовал разные вещи.

Предполагается, что мне придется писать простой javascript (я не уверен, если это случай, но), если я делаю это, у меня возникают проблемы с получением идентификатора родительского элемента, который я должен вставить в js.

var mydrag = new Draggable(domid, { ghosting: true }); 
// then destroy it when you don't need it anymore 
mydrag.destroy(); 

Как я могу получить правильное жилище. sth вроде this.parentNode.id? Я также пробовал

<%= draggable_element(domid, :ghosting=>true, :endeffect => "this.hide();") %> 

без успеха.

так что мой вопрос в том, как удалить элемент после перетаскивания?

ответ

1

Вы можете использовать endeffect, как это:

var mydrag = new Draggable(domid, { ghosting: true, endeffect:function() { $(domid).hide() } }); 
+0

я могу только попробовать свои версии, как это: <% = draggable_element (domid,: ореолы => верно,: endeffect => «функция() { $ (# {domid}). hide()} ")%> , потому что я не могу получить переменную (! domid!), которая представляет родительский элемент dom перетаскиваемого в javascript. , и если я попробую это сделать (с draggable_element rails scriptaculous helper), это действительно исчезает, но только на секунду. и затем снова на мыши, а также на элемент приема капли. Я также пытался .remove() и .destroy() вместо скрыть, но он не работает. спасибо за ответ в любом случае! – user275447

+0

на самом деле он просто скрыт за эффектом зависания элемента droppable, который я только что заметил. поэтому он снова отображается, когда я ухожу от него. – user275447

+0

Я не знаком с RoR, но вы можете decalre «domid» как глобальную переменную, тогда вы можете получить доступ к ней внутри своей функции. –