Reputation: 3512
I'm trying to push a word's ID to a list once it's dropped using jQuery UI's droppable feature. When I drag and drop the word the console.log()
gives me the correct ID. However my .push()
call below does nothing. How do I push the given ID?
Goal:
Before drop: One, Two,
After drop: One, Two, Three,
JavaScript:
var words = ["One,Two,"];
document.getElementById("demo").innerHTML = words.toString();
$(move);
function move() {
$('#moving').draggable();
$('#drop').droppable({
drop: handleDropEvent
});
}
function handleDropEvent(event, ui) {
var draggable = ui.draggable;
var droppable = ui.droppable;
var word = ui.draggable.attr('id')
words.push(word)
console.log(word)
$('#moving').hide(draggable.attr);
}
HTML:
<p id="demo"></p>
<div>
<span id="Three">
<strong> Three </strong>
</span>
</div>
Upvotes: 0
Views: 418
Reputation: 92501
The #demo
element doesn't automagically update when you change the words
variable. You have to manually update it:
var words = ["One,Two,"];
document.getElementById("demo").innerHTML = words.toString();
$(move);
function move() {
$('#moving').draggable();
$('#drop').droppable({
drop: handleDropEvent
});
}
function handleDropEvent(event, ui) {
var draggable = ui.draggable;
var droppable = ui.droppable;
var word = ui.draggable.attr('id')
words.push(word)
document.getElementById("demo").innerHTML = words.toString();
console.log(word)
$('#moving').hide(draggable.attr);
}
Upvotes: 1