jQueryUI在删除时,创建一个不同的元素

时间:2016-02-13 00:06:53

标签: jquery-ui jquery-ui-draggable

我正在尝试执行类似于此处的示例:http://jsfiddle.net/mekwall/sY7Vr/2/

$(".sortable").sortable({
items: ".drag",
connectWith: ".sortable",
start: function( event, ui ) {
    $(ui.item).text("Drop me!");
},
stop: function(event, ui) {
    $(ui.item).text("Drag me!");
},
receive: function( event, ui ) {
    $(ui.item)
        .addClass("ui-state-highlight")
        .after(
            $("<div>")
                .addClass("drag")
                .html("New item!")
        );
}
});

就我而言,我有一个包含“按钮”和页面的操作栏。当我从操作栏拖动动作“按钮”(即“添加文本框”)并执行删除时,我想插入输入而不是按钮本身。

有没有好办法呢?

感谢您的时间。

1 个答案:

答案 0 :(得分:2)

您需要做的就是替换html方法中的内容。下面的代码是为html类型input插入text,然后删除拖动的项目。

Updated Fiddle

$(".sortable").sortable({
  items: ".drag",
  connectWith: ".sortable",
  start: function( event, ui ) {
    $(ui.item).text("Drop me!");
  },
  stop: function(event, ui) {
    $(ui.item).text("Drag me!");
  },
  receive: function( event, ui ) {
    $(ui.item)
      .addClass("ui-state-highlight")
      .after(
      $("<div>")
      .html("<input type='text' class='new-input'/>") //Add an input
    );
    //Remove the dragged item. You can use "hide" here as well
    $(ui.item).remove();
  }
});