Pradyumna
Pradyumna

Reputation: 1633

Can an input (type=text) be a jQuery droppable?

I am trying out jQuery-UI drag-drop feature. I was able to easily convert a div into a droppable but making a text box a Droppable doesn't work.

jQuery('input[type=text]:visible').droppable({
    drop: function (e, ui){
        console.log('dropping',ui); //--> this never gets called
     jQuery(this).val(jQuery(ui.helper).text());
}
});

Is it the case that the default browser behavior prevents text fields and text areas from being droppables?

EDIT: It doesn't work only when the input field is a part of a draggable..

http://jsfiddle.net/guNTP/4/

<span>hello world!<input></span>

$("input").droppable({
  drop: function(event, ui) {
    alert(ui.draggable.text());
  }
});

$("span").draggable({helper:function(){
    return jQuery("<span>hello</span>");
}});

Upvotes: 2

Views: 5024

Answers (2)

$("#myinput").droppable({
  drop: function(event, ui) {
    $(this).val( $(this).val() + ui.draggable.text());
  }
});

$("span").draggable({revert:true});

Upvotes: 2

Flo Edelmann
Flo Edelmann

Reputation: 2613

Yes, it can be: http://jsfiddle.net/guNTP/

Upvotes: 3

Related Questions