Reputation: 161
I have tried many ways to get the id of dropped element in jquery UI. please help to get the value of id.
$( function() {
$(".draggable").draggable({
revert: "invalid",
helper: "clone"
});
$( "#droppable2" ).droppable({
drop: function( event, ui ) {
var draggable = ui.draggable;
var dragged = draggable.clone();
var currentID = ui.draggable.attr("id");/*draggable.find('id'); - returns an object. but, could not get the id. */
alert(dragged.html());
alert(currentID);
dragged.resizable();
dragged.appendTo("#droppable2");
//alert("open properties");
}
});
} );
html of the dropped element returns and it contains the id.
---html---
<div class="ui-widget-content draggable">
<select id='singleSelect'>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
</div>
<div id='droppable2' class="ui-widget-header" height='100%'><p/></div>
Upvotes: 3
Views: 4786
Reputation: 61
I would like to share that you can simply use this code to get id/class name of a dropped element:
ui.draggable.attr("yourid/yourclass");
add this code inside your droppable function.
Upvotes: 2
Reputation: 11462
You need to find the select
first and then get its id
, because ui.draggable
returns a nodeList, also as I said in my comment, you are using a <p>
tag wrong, corrected that a bit:
$(function() {
$(".draggable").draggable({
revert: "invalid",
helper: "clone"
});
$("#droppable2").droppable({
drop: function(event, ui) {
var draggable = ui.draggable;
var dragged = draggable.clone();
var currentID = ui.draggable.find('select').attr('id');
console.log(currentID);
dragged.resizable();
dragged.appendTo("#droppable2");
//alert("open properties");
}
});
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<div class="ui-widget-content draggable">
<select id='singleSelect'>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
</div>
<div id='droppable2' class="ui-widget-header" height='100%'>
<p>some paragraph</p>
</div>
Upvotes: 6