ограничить количество перетаскивания jquery - PullRequest
1 голос
/ 26 августа 2009

У меня есть код ниже, который делает список перетаскивания и сбрасывания div, при отбрасывании возвращает список идентификаторов в новом порядке.

Мне нужно как-то добавить 2 функции в этот код.

1)
В выпадающем списке выбора будет 5 вариантов. 3,6,9,12,15 и когда пользователь выбирает одно из этих чисел, мне нужно выделить первое число X делителей. если пользователь выбирает 9, мне нужно, чтобы первые 9 делителей в списке перетаскивания изменили цвет фона, чтобы вы могли сказать, что эти 9 выбраны.
Мне также нужен еще один вызов ajax, чтобы изменить номер выпадающего списка, чтобы сохранить этот номер.
Когда страница перезагружается, этот выпадающий список извлекает номер из БД, поэтому, если у пользователя уже было 99 сохраненных в БД, при посещении этой страницы скрипт будет показывать 9 в поле и уже выберет 9 div *

2)
В области перетаскивания при перетаскивании возвращается подобное значение 0 | 1 | 2 | 3 | 4 | 5 и т. Д. В правильном порядке. Мне нужно ограничить этот список, чтобы он возвращал только первое количество Х чисел. Если в раскрывающемся списке выбрано значение 9 выше, то следует сохранить только порядок первых 9 делителей.

Может кто-нибудь помочь, пожалуйста?

<ul id="gallery">
    <li itemID='12'>
        <div>Photo Here</div>
    </li>
    <li itemID='23'>
        <div>Photo Here</div>
    </li>
    <li itemID='32'>
        <div>Photo Here</div>
    </li>
    <li itemID='43'>
        <div>Photo Here</div>
    </li>

    ...up to hundreds
</ul>


<script type="text/javascript">

    $("#gallery").dragsort({
        dragSelector: "li div",
        dragEnd: saveOrder
    });

    function saveOrder() {
        var serialStr = "";
        $("#gallery li").each(function(i, elm) {
            serialStr += (i > 0 ? "|" : "") + $(elm).attr("itemID");
        });
        alert(serialStr);
        // $.ajax({ url: "saveorder.php/SaveListOrder", data: '{"ids":"' + serialStr + '"}', dataType: "json", type: "POST", contentType: "application/json; charset=utf-8" });
    };

</script>

1 Ответ

1 голос
/ 16 ноября 2009

Используйте этот селектор CSS: http://api.jquery.com/lt-selector/

Итак:

var serialStr = "";
var list = $("#gallery li:lt(" + $("#limit").val() + ")");
list.addClass("highlight").each(function(i, elm) { ... });
alert(serialStr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...