Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.02.2013, 01:58
Кандидат Javascript-наук
Отправить личное сообщение для OklickSpb Посмотреть профиль Найти все сообщения от OklickSpb
 
Регистрация: 17.02.2012
Сообщений: 130

.draggable + .droppable + .sortable
Всем доброго времени суток!
Нужно организовать такую штуку:
Что бы можно было товары сортировать по группам, как вы уже поняли при помощи drag and drop
Суть заключается в том, что бы пользователь мог перемещать элементы не только по группам(div'ам), но и сортировать эти элементы внутри них...
Вот код, но он не хочет работать, вернее он перемещает в дивы, но не позволяет сортировать их, в чем ошибка?
var groupPrice = {
	0:'#block2',
	1:'#block3'
}
$(function() {
    $('.textBlock').draggable({
        helper:'clone',
		cursor: 'move',
		stop: function(){
			$(this).css("background-color", "red");
		}
    });

for (var key in groupPrice) {
       $(groupPrice[key]).droppable({
        hoverClass: 'dropHere'
        ,drop: function(event, ui) {
            $(this).append($('<div class="textBlock">' + ui.draggable.html() + '</div>'));
           $(this).sortable({ opacity: 0.8, cursor: 'move', update: function() {alert("Изменено");}});
        }
    });
	}
});


HTML:
<div class="wrapper">
	Перетащите
        <div id="block1">
            <div class="textBlock">Товар 1</div>
            <div class="textBlock">Товар 2</div>
            <div class="textBlock">Товар 3</div>
        </div>
        <div id="block2"></div>
		<div id="block3"></div>

    </div>


Видел тему: draggable+droppable+sortable возможно ли? , так и не понял до конца, что у меня не правильно?

Последний раз редактировалось OklickSpb, 24.02.2013 в 02:08.
Ответить с цитированием
  #2 (permalink)  
Старый 24.02.2013, 15:44
Кандидат Javascript-наук
Отправить личное сообщение для OklickSpb Посмотреть профиль Найти все сообщения от OklickSpb
 
Регистрация: 17.02.2012
Сообщений: 130

Неужели никто не знает?
Ответить с цитированием
  #3 (permalink)  
Старый 24.02.2013, 17:11
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

нишиша непонял, из того что вы хотите.
dragable можно напрямую к sortable приконектить, без dropable
а несколько sortable можно обьединить, и дать возможность перетаскивать из одного в другой

В примере перестановка товаров между группами выполнена силами одного sortable, а для добавления новых товаров я применил dragable. dropable нам не понадобился.

<!doctype html>
 
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>jQuery UI Draggable + Sortable</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
  <style>
 #sortable1, #sortable2 { list-style-type: none; margin: 0; padding: 0 0 2.5em; float: left; margin-right: 10px; }
  #sortable1 li, #sortable2 li { margin: 0 5px 5px 5px; padding: 5px; font-size: 1.2em; width: 120px; }  </style>
  <script>
  $(function() {

    $( "#sortable1,#sortable2" ).sortable({
      connectWith: ".connectedSortable",
      revert: true
    });

    $( "#draggable" ).draggable({
      connectToSortable: ".connectedSortable",
      helper: "clone",
      revert: "invalid",
      cursor: 'move'
    });

    $( "ul, li" ).disableSelection();
  });
  </script>
</head>
<body>
 
<ul>
  <li id="draggable" class="ui-state-highlight">Новый товар</li>
</ul>
 
<ul id="sortable1" class="connectedSortable">
  <li class="ui-state-default">Товар 1-1</li>
  <li class="ui-state-default">Товар 1-2</li>
  <li class="ui-state-default">Товар 1-3</li>
  <li class="ui-state-default">Товар 1-4</li>
  <li class="ui-state-default">Товар 1-5</li>
</ul>

<ul id="sortable2" class="connectedSortable">
  <li class="ui-state-highlight">Товар 2-1</li>
  <li class="ui-state-highlight">Товар 2-2</li>
  <li class="ui-state-highlight">Товар 2-3</li>
  <li class="ui-state-highlight">Товар 2-4</li>
  <li class="ui-state-highlight">Товар 2-5</li>
</ul>
 
</body>
</html>
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 24.02.2013 в 17:30.
Ответить с цитированием
  #4 (permalink)  
Старый 24.02.2013, 17:55
Кандидат Javascript-наук
Отправить личное сообщение для OklickSpb Посмотреть профиль Найти все сообщения от OklickSpb
 
Регистрация: 17.02.2012
Сообщений: 130

А как нибудь можно проверить отсутствие перетаскиваемого товара в диве?
Что бы повторов не было?
Ответить с цитированием
  #5 (permalink)  
Старый 24.02.2013, 18:20
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

непонял, все элементы в одном экземпляре, какае такие повторы там могут быть ?
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Ответить с цитированием
  #6 (permalink)  
Старый 24.02.2013, 18:32
Кандидат Javascript-наук
Отправить личное сообщение для OklickSpb Посмотреть профиль Найти все сообщения от OklickSpb
 
Регистрация: 17.02.2012
Сообщений: 130

Все, спасибо, как раз сейчас сам разобрался с вопросом!
Спасибо за помощь!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск