jquery - установка лимита элементов, которые можно перетаскивать в список - PullRequest
2 голосов
/ 25 января 2010

У меня есть два списка, из которых я могу перемещать элементы из одного в другой с помощью jquery ui и соединять списки с помощью ajax. Если элемент перетаскивается, в php-файле генерируется сообщение, а затем оно появляется на экране. Теперь я хочу, чтобы, например, правильный список должен был содержать не более десяти элементов. Было бы замечательно, если бы это было возможно с jquery, если в списке уже есть десять элементов и вы перетащите одиннадцатый элемент, если этот элемент каким-то образом исчезнет, ​​возможно, с небольшим эффектом. Я думаю, может быть, чтение БД в php-файле, если там уже десять пунктов, и так далее. Но в настоящее время я понятия не имею, если и в случае, если и каким образом, jquery будет поддерживать такого рода поведение. Можете ли вы дать мне совет?

Привет, машек

Ответы [ 3 ]

1 голос
/ 25 января 2010

Используя пример из http://docs.jquery.com/UI/Droppable,, вы можете сделать:

    $("#draggable").draggable();

    $("#droppable").droppable({
      drop: function() { 
          if($("#draggable").children().length > 10)
            return;
      }
    });

Руда что-то по этой линии.

0 голосов
/ 04 апреля 2010

иногда это так просто. Просто добавьте «жадность: истина» в определение deroppable, и оно отлично работает.

0 голосов
/ 25 января 2010

Вы можете выбрать все элементы в вашем списке, используя jquery, а затем использовать свойство length, чтобы узнать, сколько фактически было выбрано. Это позволит вам проверить, насколько велик ваш список. Например:

if ( $('#yourlist li').length() == 10 )
{
    // Do effect here
}
...