Итак, мне удалось сделать более простую рабочую модель того, что вам нужно, из предоставленного вами кода.Указанная вами скрипка не работала из-за того, что включенный jQuery-ui был неправильным.
Логика заключается в том, что непосредственно перед удалением мы проверяем идентификатор удаляемого элемента и на основе этого идентификатора содержимое удаляемого элемента изменяется.Добавляя новый класс css к удаляемому элементу, можно указать высоту и ширину сбрасываемого элемента.Я добавил несколько кодов, как показано
$('#Container').sortable({
helper: 'clone',
receive : function(event,ui){
var block_id = ui.item.attr('id');
var html='<div class="close">X</div>';
if(block_id == 'Heading'){
html+= '<h1>Sample Heading</h1>';
}else if(block_id == 'txtbox'){
html+= '<input type="text" name="txt_name" placeholder="your text here">';
}else if(block_id == 'txtfield'){
html+= '<textarea name="textarea_name" cols="40" rows="6"></textarea>';
}else if(block_id == 'RB1'){
html+= '<input type="radio" name="radio_name" value="option1">Option1<input type="radio" name="radio_name" value="option2">Option2';
}
ui.helper.removeAttr('style').addClass('new_element_class').html(html);
}
});
$('.block').draggable({
helper: 'clone',
connectToSortable: '#Container'
});
$('.close').live("click", function(){
$(this).parent().hide();
});
Вот рабочая скрипка .скрипка.Проверьте это