как найти выбранные элементы с JQuery UI можно выбрать

Если Вы просто надеетесь выполнять итерации по сглаженной версии структуры данных и не нуждаетесь в индексируемой последовательности, рассматриваете itertools.chain и компания .

>>> list_of_menuitems = [['image00', 'image01'], ['image10'], []]
>>> import itertools
>>> chain = itertools.chain(*list_of_menuitems)
>>> print(list(chain))
['image00', 'image01', 'image10']

Это будет работать над чем-либо, что это повторяемо, который должен включать Django, повторяемого QuerySet с, которая кажется, что Вы используете в вопросе.

Редактирование: Это, вероятно, столь же хорошо как уменьшение так или иначе, потому что уменьшают, будет иметь то же служебное копирование объектов в список, это расширяется. chain только подвергнется этим (тем же) издержкам, если Вы будете работать list(chain) в конце.

Метаредактирование: На самом деле, это - меньше служебное, чем предлагаемое решение вопроса, потому что Вы выбрасываете временные списки, которые Вы создаете при расширении оригинала с помощью временного файла.

Редактирование: Как J.F. Sebastian говорит itertools.chain.from_iterable, избегает распаковки, и необходимо использовать это для предотвращения * волшебство, но timeit приложение показывает незначительное различие в производительности.

15
задан Alexis Tyler 4 September 2016 в 05:35
поделиться

2 ответа

Когда элемент выбран, к нему добавляется класс ui-selected .

Таким образом, вы можете получить все выбранные элементы с помощью $ (". Ui- selected ")

Это может работать не совсем точно, но я думаю, что идея будет примерно такой:

$('#content_td_account').selectable({
  filter: 'li:not(".non_draggable")',
  selecting: function(event, ui) { 
    var p = $(this).parent();
    $(".ui-selected").each(obj, function() {
      if(obj.parent() == p) {
        // get rad
      }
    });
  }
});
12
ответ дан 1 December 2019 в 03:14
поделиться

это решит вашу проблему:

    <script type="text/javascript">
    $(function() {
        $("#selectable").selectable({
            stop: function(){
                var result = $("#select-result").empty();
                $(".ui-selected", this).each(function(){
                    var index = $("#selectable li").index(this);
                    result.append(" #" + (index + 1));
                });
            }
        });
    });
    </script>


<div class="demo">

<p id="feedback">
You've selected: <span id="select-result">none</span>.
</p>

<ol id="selectable">
    <li class="ui-widget-content">Item 1</li>
    <li class="ui-widget-content">Item 2</li>
    <li class="ui-widget-content">Item 3</li>
    <li class="ui-widget-content">Item 4</li>
    <li class="ui-widget-content">Item 5</li>
    <li class="ui-widget-content">Item 6</li>
</ol>

посетите http://jqueryui.com/demos/selectable/#serialize для получения дополнительной информации

0
ответ дан 1 December 2019 в 03:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: