Drag and drop elements from list into separate blocks

后端 未结 6 1579
攒了一身酷
攒了一身酷 2020-12-12 12:28

I\'m trying to get a jQuery component similar to the one on this site.

Basically, there is a list with available elements that you can drag and drop into several blo

相关标签:
6条回答
  • 2020-12-12 13:04

    Check this out: http://wil-linssen.com/entry/extending-the-jquery-sortable-with-ajax-mysql/ I'm using this and I'm happy with the solution.

    Right here you can find a demo: http://demo.wil-linssen.com/jquery-sortable-ajax/

    Enjoy!

    0 讨论(0)
  • 2020-12-12 13:06

     function dragStart(event) {
                event.dataTransfer.setData("Text", event.target.id);
            }
    
            function allowDrop(event) {
                event.preventDefault();
            }
    
            function drop(event) {
                $("#maincontainer").append("<br/><table style='border:1px solid black; font-size:20px;'><tr><th>Name</th><th>Country</th><th>Experience</th><th>Technologies</th></tr><tr><td>  Bhanu Pratap   </td><td> India </td><td>  3 years   </td><td>  Javascript,Jquery,AngularJS,ASP.NET C#, XML,HTML,CSS,Telerik,XSLT,AJAX,etc...</td></tr></table>");
            }
     .droptarget {
                float: left;
                min-height: 100px;
                min-width: 200px;
                border: 1px solid black;
                margin: 15px;
                padding: 10px;
                border: 1px solid #aaaaaa;
            }
    
            [contentEditable=true]:empty:not(:focus):before {
                content: attr(data-text);
            }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <div class="droptarget" ondrop="drop(event)" ondragover="allowDrop(event)">
            <p ondragstart="dragStart(event)" draggable="true" id="dragtarget">Drag Table</p>
        </div>
    
        <div id="maincontainer" contenteditable=true data-text="Drop here..." class="droptarget" ondrop="drop(event)" ondragover="allowDrop(event)"></div>

    1. this is just simple here i'm appending html table into a div at the end
    2. we can achieve this or any thing with a simple concept of calling a JavaScript function when we want (here on drop.)
    3. In this example you can drag & drop any number of tables, new table will be added below the last table exists in the div other wise it will be the first table in the div.
    4. here we can add text between tables or we can say the section where we drop tables is editable we can type text between tables.

    Thanks... :)

    0 讨论(0)
  • 2020-12-12 13:07

    Maybe jQuery UI does what you are looking for. Its composed out of many handy helper functions like making objects draggable, droppable, resizable, sortable etc.

    Take a look at sortable with connected lists.

    0 讨论(0)
  • 2020-12-12 13:08

    I wrote some test code to check JQueryUI drag/drop. The example shows how to drag an element from a container and drop it to another container.

    Markup-

    <div class="row">
        <div class="col-xs-3">
          <div class="panel panel-default">
            <div class="panel-heading">
              <h1 class="panel-title">Panel 1</h1>
            </div>
            <div id="container1" class="panel-body box-container">
              <div itemid="itm-1" class="btn btn-default box-item">Item 1</div>
              <div itemid="itm-2" class="btn btn-default box-item">Item 2</div>
              <div itemid="itm-3" class="btn btn-default box-item">Item 3</div>
              <div itemid="itm-4" class="btn btn-default box-item">Item 4</div>
              <div itemid="itm-5" class="btn btn-default box-item">Item 5</div>
            </div>
          </div>
        </div>
        <div class="col-xs-3">
          <div class="panel panel-default">
            <div class="panel-heading">
              <h1 class="panel-title">Panel 2</h1>
            </div>
            <div id="container2" class="panel-body box-container"></div>
          </div>
        </div>
      </div>
    

    JQuery codes-

    $(document).ready(function() {
    
    $('.box-item').draggable({
        cursor: 'move',
        helper: "clone"
    });
    
    $("#container1").droppable({
      drop: function(event, ui) {
        var itemid = $(event.originalEvent.toElement).attr("itemid");
        $('.box-item').each(function() {
          if ($(this).attr("itemid") === itemid) {
            $(this).appendTo("#container1");
          }
        });
      }
    });
    
    $("#container2").droppable({
      drop: function(event, ui) {
        var itemid = $(event.originalEvent.toElement).attr("itemid");
        $('.box-item').each(function() {
          if ($(this).attr("itemid") === itemid) {
            $(this).appendTo("#container2");
          }
        });
      }
    });
    
    });
    

    CSS-

    .box-container {
        height: 200px;
    }
    
    .box-item {
        width: 100%;
        z-index: 1000
    }
    

    Check the plunker JQuery Drag Drop

    0 讨论(0)
  • 2020-12-12 13:22

    Also check it

    jQuery: Customizable layout using drag and drop (examples)

    http://devheart.org/examples/jquery-customizable-layout-using-drag-and-drop/1-getting-started-with-sortable-lists/

    0 讨论(0)
  • 2020-12-12 13:23

    Dragging an object and placing in a different location is part of the standard of HTML5. All the objects can be draggable. But the Specifications of below web browser should be followed. API Chrome Internet Explorer Firefox Safari Opera Version 4.0 9.0 3.5 6.0 12.0

    You can find example from below: https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_draganddrop2

    0 讨论(0)
提交回复
热议问题