1. Add bootstrap, jquery, and jquery UI(Important) or angularjs (optional if you are using angularjs) script in your app.
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
2. Make two div’s where you want to your div draggable and droppable.
<!-- drag and drop start --> <div class="row col-md-width connectedSortable custom-ht add-space" id="sortable1"> <div class="col-md-3 sqnc-box col-sm-4 box" ng-repeat="chooseDoctors in chooseDoctor"> <div class="gray-box text-center" id="{{chooseDoctors.room_id}}"> <h3>{{chooseDoctors.room_name}}</h3> </div> </div> </div> <div class="row squence-top"> <span>Please drag and drop rooms here</span> </div> <!-- drag and drop end here --> <div id="sortable2" class="row col-md-width custom-ht add-space connectedSortable"> <div ng-show="error_msg"> </div> <div ng-show="!error_msg" class="col-md-3 sqnc-box col-sm-4 box" ng-repeat="rooms in room"> <div class="gray-box text-center" id="{{rooms.id}}"> <h3>{{rooms.name}}</h3> </div> </div> </div>
3. Assign two different id’s on different div’s where you want to draggable and droppable.Like id->sortable1 assigned to first div where drag and drop starts and id->sortable2 is assigned to second div where drag and drop ends.
4. Add one class which connects both div’s like class->connectedSortable is added in the above code.
5. Add script
<script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.chooseDoctor = [ {"room_id":"1", "room_name":"Room 1"}, {"room_id":"2", "room_name":"Room 2"}, {"room_id":"3", "room_name":"Room 3"}, {"room_id":"4", "room_name":"Room 4"}, {"room_id":"5", "room_name":"Room 5"}, {"room_id":"6", "room_name":"Room 6"}, {"room_id":"7", "room_name":"Room 7"}, {"room_id":"8", "room_name":"Room 8"}, {"room_id":"9", "room_name":"Room 9"}, {"room_id":"10", "room_name":"Room 10"}, ] $scope.room = [ {"id":"1", "name":"Room 11"}, {"id":"2", "name":"Room 12"}, {"id":"3", "name":"Room 13"}, {"id":"4", "name":"Room 14"}, {"id":"5", "name":"Room 15"}, {"id":"6", "name":"Room 16"}, {"id":"7", "name":"Room 17"}, {"id":"8", "name":"Room 18"}, {"id":"9", "name":"Room 19"}, {"id":"10", "name":"Room 20"}, ] $(function () { $("#sortable1, #sortable2").sortable({ connectWith: ".connectedSortable" }).disableSelection(); }); var positions; $("#sortable1").sortable({ update: function (event, ui) { $scope.room_ids = []; $('#sortable1 .gray-box').each(function (e) { if (jQuery.inArray($(this).prop('id'), $scope.room_ids) == '-1') { $scope.room_ids.push($(this).prop('id')); } }); positions = $scope.room_ids.join(','); console.log($scope.room_ids); }, }); </script>
6. Output is:-