2010-02-25 45 views
0

如果我第一次只寫我的代碼,可能是最好的。我有:在拖放之後隱藏一個可拖動的(scriptaculous)

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

在某些「盒子」上拖放之後,名稱= horse.name的可拖動元素停留在它上面。我想刪除它(名稱)。我正在嘗試不同的事情。

按說我將不得不寫普通的JavaScript(我不知道如果多數民衆贊成的情況下,但)如果我這樣做,我有讓我有JS插入父元素ID的問題。

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

我怎樣才能得到適當的domid。這樣的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()}「)%> 因爲我無法獲得表示可拖動到javascript的父dom元素的變量(!domid!)。 如果我嘗試這樣(與draggable_element rails scriptaculous助手)它真的似乎消失,但只是一秒鐘。然後再次放在我的鼠標上和放置接收元件上。我也嘗試.remove()和.destroy()而不是隱藏,但它不起作用。 無論如何感謝您的答案! – user275447 2010-02-25 21:25:41

+0

實際上,它只是隱藏在我剛纔注意到的可放置元素的懸停效果後面。所以當我離開它時再次顯示。 – user275447 2010-02-25 21:34:07

+0

我不熟悉RoR,但是可以將「domid」作爲全局變量進行decalre,然後可以在函數內部訪問它。 – 2010-02-25 21:42:20