2009-04-19 3 views
2

verpackt Dies ist mein Code für eine ziehbare Verbindung zu einer sortierbaren. Die Sache ist, ich erstelle eine LI mit einer Reihe von Attributen. ABER wenn ich ein Objekt in das Drop-fähige Div ziehe, erstellt das Sortierbare ein neues li-Tag und umschließt mein erstelltes li damit.jQuery Sortierbar + Droppable. Nach dem Ablegen ist mein LI in eine andere LI

Es sieht ungefähr so ​​aus:

<ul> 
    <li class="X" onclick="myFunc()"> My LI</li> 
</ul> 

Wie kann ich das tun:

<ul> 
<li class="ui-draggable" style="display: list-item;"> 
    <li class="X" onclick="myFunc()"> My LI</li> 
<li> 
</ul> 

Während meine Absicht, so etwas zu haben ist?

Und der Code:

$(document).ready(function() { 

$('.draggable_text > li').draggable({ 
    helper: function(event, ui) { 
     return '<div class="placeholder_sortable">&nbsp</div>' 
    }, 
    connectToSortable:'#stagerows' 
}); 

$('#stagerows').sortable({ 
    handle: '.drag_handle', 
    placeholder: 'placeholder_sortable' 
}); 

/** 
* When item is dropped from the Add <Stuff> 
*/ 
$('#stagerows').droppable({ 
    drop: function(event, ui){ 
     return ui.draggable.html('<li class="X" onclick="myFunc()"> My LI</li>') 
    } 
}); 

}); 

Antwort

3

Versuchen Sie dies mit:

$('#stagerows').droppable({ 
    drop: function(event, ui){ 
     return ui.draggable.html('My LI').addClass('X').click(myFunc); 
    } 
}); 
+0

dank tvanfosson. Aber nach dem Aussehen des Codes müsste ich die li-Tags entfernen, die ich erstellt habe. Rückgabe ui.draggable.html (createHTML()); // der Code oben, ich habe explizit die html hinzugefügt, um es lesbarer zu machen. – wenbert