I have a widget in which I can drop items into a trash can. I want to be able to add a unique ID to each item dropped in the trash can at the drop event. How can I do this and is there a way to have the output value the actual name of the list item? Thanks! Below is my code:
$(function() {
var $gallery = $( "#gallery" ),
$trash = $( "#trash" );
$( "li", $gallery ).draggable({
cancel: "a.ui-icon",
revert: "invalid",
containment: $( "#demo-frame" ).length ? "#demo-frame" : "document", // stick to demo-frame if present
helper: "clone",
cursor: "move"
});
$trash.droppable({
accept: "#gallery > li",
activeClass: "ui-state-highlight",
drop: function( event, ui ) {
deleteImage( ui.draggable );
}
});
$gallery.droppable({
accept: "#trash li",
activeClass: "custom-state-active",
drop: function( event, ui ) {
recycleImage( ui.draggable );
}
});
HTML
<div class="demo ui-widget ui-helper-clearfix">
<ul id="gallery" class="gallery ui-helper-reset ui-helper-clearfix">
<li class="ui-widget-content ui-corner-tr" a href="link/to/trash/script/when/we/have/js/off">
<h5 class="fpheader">Red</h5>
</li>
<li class="ui-widget-content ui-corner-tr">
<h5 class="fpheader">Orange</h5>
</li>
<li class="ui-widget-content ui-corner-tr">
<h5 class="fpheader"Yellow</h5>
</li>
<li class="ui-widget-content ui-corner-tr">
<h5 class="fpheader">Green</h5>
</li>
<li class="ui-widget-content ui-corner-tr">
<h5 class="fpheaderr">Blue</h5>
</li>
<li class="ui-widget-content ui-corner-tr">
<h5 class="fpheader">Purple</h5>
</li>
<li class="ui-widget-content ui-corner-tr">
<h5 class="fpheader">White</h5>
</li>
</ul>
</div>
You can create a unique ID by using a date object like so
To get the name of the list item, you can access it in the drop event
You can access the cloned item from the UI object
You can access the original item from the UI object
The example below adds a unique ID to the cloned item
The example below adds a list name to the original item