2011-01-07 9 views
1

こんにちは、ドラッグ&ドロップ機能に基づいてhtml要素を作成したいと考えています。私はこれを行うには、JqueryのUIライブラリを使用したいと思います。 HTMLコードはここにありますhttp://pastebin.com/0cn5FDWrJQueryドラッグアンドドロップから要素を作成

私がしたいことは、アイテムがドロップされたときです。ドロップされたアイテムをチェックしてから、ドロップdivの後ろにいくつかのhtmlエレメントを追加したいと思います。等...)。

これを行う方法がわからない場合は、コードを含むカスタム関数を呼び出すことでこれを行うことができます。

おかげ

答えて

3

あなたはドロップされた要素を受け取り、ドロップコールで外部関数を持っているとあなたが欲しいものは何でも追加することに基づくことができます。
Javascriptを:

$(function() { 
    var $result = $('.result'); 
    $('.drag').draggable({ 
     revert: "invalid" 
    }); 
    $('.drop').droppable({ 
     drop: function(e, ui) { 
      outputResult(ui.draggable); 
     } 
    }); 

    function outputResult(elm) { 
     if ($(elm).hasClass('oTextInput')) { 
      $result.append('<input type="text" />'); 
     } else if ($(elm).hasClass('oRadioInput')) { 
      $result.append('<input type="radio" />'); 
     } 
    } 
}); 

HTML:

<div> 
    <div class="drag oTextInput">Drag me!</div> 
    <div class="drag oRadioInput">Drag me!</div> 
    <div class="drag">Drag me!</div> 
    <div class="drag">Drag me!</div> 
    <div class="drag">Drag me!</div> 
    <div class="drag">Drag me!</div> 
    <div class="drag">Drag me!</div> 
</div> 
<div class="drop">drop here!</div> 
<div class="output"> 
    <h2>Results:</h2> 
    <div class="result"></div> 
</div> 

Example link

+0

こんにちはifaour、これは大変お世話になりました。 – stuxbrux

4

まず、あなたが受け入れるドロップ可能をたい要素を指定する必要があります。これを行うには、オプションを.drag()に設定します。

私はjsFiddle、ドラッグ/ドロップ可能を使用してソート可能を使用して最初のものと第二の二つの小さな例を作りました。

+0

こんにちは、ありがとうございました。あなたがしたことが分かります、ありがとう。私はそれをドロップターゲットの後に要素を追加したい。したがって、要素の後にこのようなhtmlの外観を持つ(たとえば、それは入力フィールドです):

Item1
Item2

drop here

<<<<新しいdiv要素とinput要素は、ドロップ可能なdiv – stuxbrux

+0

私はあなたがドロップ可能ではなく、[ソート可能な](http://jqueryui.com/demos/sortable/#display-grid)を探しているとは思わない。ドロップ可能オブジェクト上にドラッグ可能オブジェクトをドロップすることは、DOM内でドラッグ操作を実際に行うことはありません。私は例を挙げてあなたに戻ってきます。 – mekwall

+0

@stuxbrux私は2つの新しい例を追加しました。そして、そのうちの1つがあなたが探しているものであることを願っています!あなたが私がそれらのいずれかを詳述してもらいたいかどうか教えてください。 – mekwall

関連する問題