Перетащите элементы из списка в отдельные блоки
Я пытаюсь получить компонент jQuery, похожий на тот, что на этот сайт.
в основном, есть список с доступными элементами, которые можно перетащить в несколько блоков.
У меня довольно много опыта разработки JavaScript, но я совершенно новичок в jQuery, языке, на котором я хочу, чтобы это было написано.
не могли бы вы привести меня к какому-нибудь примеру, похожему на показанный выше, или дать мне несколько советов о том, что было бы хорошо место, чтобы начать искать что-то подобное?
6 ответов:
может быть, jQuery UI делает то, что вы ищете. Он состоит из многих удобных вспомогательных функций, таких как создание объектов перетаскиваемых, сбрасываемых, изменяемых размеров, сортируемых и т. д.
посмотри сортируется с подключенными списками.
проверьте это:http://wil-linssen.com/entry/extending-the-jquery-sortable-with-ajax-mysql/ я использую это, и я доволен решением.
прямо здесь вы можете найти демо:http://demo.wil-linssen.com/jquery-sortable-ajax/
наслаждайтесь!
Я написал тестовый код для проверки перетаскивания JQueryUI. В этом примере показано, как перетащить элемент из контейнера в другой контейнер.
разметка-
<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 -
$(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 }
Регистрация plunker JQuery Drag Drop
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>
- это просто здесь я добавляю html-таблицу в div В конце
- мы можем достичь этого или любой вещи с помощью простой концепции вызова функции JavaScript, когда мы хотим (здесь на drop.)
- в этом примере вы можете перетащить и отбросить любое количество таблиц, новая таблица будет добавлена ниже последней таблицы, существующей в div, иначе это будет первая таблица в div.
- здесь мы можем добавьте текст между таблицами или мы можем сказать, что раздел, где мы отбрасываем таблицы, доступен для редактирования, мы можем вводить текст между таблицами.
спасибо... :)
перетаскивание объекта и размещение в другом месте является частью стандарта HTML5. Все объекты могут быть перетаскиваемыми. Но спецификации ниже веб-браузера должны быть соблюдены. API Chrome Internet Explorer Firefox Safari Opera Версия 4.0 3.5 6.0 9.0 12.0
вы можете найти пример снизу: https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_draganddrop2