WedX - журнал о программировании и компьютерных науках

Просмотры списков jQueryMobile с отображением фильтра, показ элементов по клику

У нас есть несколько фильтруемых входных данных на странице, которые хотят показать список, когда в фокусе находится фильтруемый список.

Чего мы хотим добиться, так это:

  1. когда пользователь нажимает на поиск в списке, показывает небольшой набор вариантов (5 или 10)
  2. когда пользователь начинает вводить текст в поле поиска, мы используем событие filertablebeforefilter, чтобы сузить выбор и обновить записи li.

HTML:

<input type="hidden" id="jobtemp" name="jobtemp" value="" />
        <input type="hidden" id="jobcode" name="jobcode" />
        <ul id="jobautocomplete" data-filter-reveal="true" data-role="listview" data-inset="true" data-filter="true" data-filter-placeholder="Find a Job ..." data-filter-theme="a">
        <li><a href="#">Job 1</a>

        </li>
        <li><a href="#">Job 2</a></li>
        </ul>
<input type="hidden" id="phasetemp" name="phasetemp" value="" />
        <input type="hidden" id="phasecode" name="phasecode" />
        <ul id="phaseautocomplete" data-filter-reveal="true" data-role="listview" data-inset="true" data-filter="true" data-filter-placeholder="Find a Cost Code ..." data-filter-theme="a">
        <li><a href="#">Phase 1</a>

        </li>
        <li><a href="#">Phase 2</a></li>
        </ul>

Код:

$("#jobautocomplete").on("filterablebeforefilter", function (e, data) {
  // .. ajax to refresh the <li> values in the filterable listview
}

$("#phaseautocomplete").on("filterablebeforefilter", function (e, data) {
   // .. ajax to refresh the <li> values in the filterable listview, also     filter based on the value in the jobautocomplete text field.
}

Мы пробовали что-то похожее на это

представление списка jQueryMobile с отображением фильтра, отображение элементов по щелчку

но не смог найти способ, который позволил бы нам отображать только тот список, который имеет фокус (не все фильтруемые списки).

18.10.2016

Ответы:


1

Чтобы показать список с фокусом на входе:

Сначала найдите родительскую форму с классом ui-filterable. Затем используйте следующую функцию jQuery, чтобы найти родственный UL.

$("input[data-type='search']").on("focus", function () {        
        $(this).val("");
      var list = $(this).parents("form.ui-filterable").next('ul');
      list.listview('destroy').data("filter-reveal", false);
        list.find('li').removeClass("ui-screen-hidden");
        list.listview('refresh');
}).on("keydown", function () {
      var list = $(this).parents("form.ui-filterable").next();
      list.listview('destroy').data("filter-reveal", true);
        list.find('li').addClass("ui-screen-hidden");
        list.listview('refresh');
});

ДЕМО

18.10.2016
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]