Фильтрация по выпадающему списку для mFilter2

Может кому-то пригодится небольшое решение с подключением Bootstrap-select

Пример рабочего select с поиском без правки скрипта, благодаря label:

$tplOuter:
<select id="id_select" name="[[+table]][[+delimeter]][[+filter]]" 
title='[[%mse2_filter_[[+table]]_[[+filter]]]]' 
class="selectpicker bla bla bli" multiple 
data-container="body" data-width="auto">
[[+rows]]
</select>

$tplOptions:
<option data-subtext="<sup>[[+num]]</sup>" 
value="[[+value]]" 
class="special_[[+value]]"
[[+num:is=`0`:then=`disabled="disabled"`]] >
<label for="[[+filter]]_[[+idx]]" value="[[+value]]">
[[+value]]
</label></option>

Посмотреть в работе:
well-estate

P.S. Для полноценной работы все же нужно доработать скрипт для select, иначе не будут обновляться значения [[+num]] & [[%mse2_selected]]
Руслан Киямов
29 апреля 2014, 14:30
modx.pro
24
6 648
+8

Комментарии: 10

Василий Наумкин
29 апреля 2014, 21:10
0
Ну, это как бы не селектбоксы, в просто оформление в виде select на js + css.

Но выглядит хорошо, да!
    Алексей Добряков
    29 апреля 2014, 22:04
    +1
    Спасибо, то что надо!
      Ильдар
      30 апреля 2014, 15:26
      +1
      Тоже была необходимость в выпадающем списке
      У себя так реализовал (flatui-checkbox):
      zamkov.ca6otag.ru/stalnyie-dveri.html
        Алексей Добряков
        29 мая 2014, 13:37
        0
        Руслан как надо переписать скрипт select что бы обновлялся [[+num]]? Потому что я смотрю у тебя на сайте они тоже перестали обновляться только после перезагрузки страницы всё ок, и кстати select работает и чистый без всяких стилей, только не обновляются данные [[+num]] и т.д.

        $tplOptions:
        <option value="[[+value]]"[[+checked:is=`checked`:then=` selected`:else=``]]>
        [[+title]] [[+num]]
        </option>
        $tplOuter:
        <select name="[[+table]][[+delimeter]][[+filter]]" multiple>
        [[+rows]]
        </select>
          Николай
          30 мая 2014, 12:37
          0
          В подобном способе есть недочет. Вы выбрав какой то пункт остаетесь с ним перманентно. Не предусмотрено варианта «не выбрано». Я всяко пытался решить эту проблему — не смог.
            Алексей Добряков
            30 мая 2014, 12:51
            0
            Делаешь «select» с параметром «multiple»
            <select name="[[+table]][[+delimeter]][[+filter]]" multiple>
            [[+rows]]
            </select>
            И подключаешь любой скрипт для select я выбрал dimox.name/jquery-form-styler/ в архиве есть файл jquery.formstyler.js и поправляешь строчку
            797 - if (el.is('[multiple]')) doMultipleSelect(); else doSelect();
            на
            797 - doSelect();
            И всё готово!

            Без подключения скрипта для стилизации чекбоксов будет твой недочёт
              Алексей Добряков
              30 мая 2014, 13:01
              0
              А что бы было совсем красиво:
              $tplOuter:
              <select name="[[+table]][[+delimeter]][[+filter]]" class="select" multiple>
              <option value="">Выберете пункт...</option>
              [[+rows]]
              </select>
              И добавляем в css:
              select.select,.jq-selectbox__dropdown ul li:first-child{
              display:none !important;
              }
          Денис Богдановский
          04 июля 2015, 15:08
          0
          Руслан, отличная задумка, но знаний не хватает что бы решить один момент, я не могу понять как в параметр title="" (тэг button ) добавить название фильтра.

          <button type="button" class="btn dropdown-toggle selectpicker btn-default" data-toggle="dropdown" data-id="id_select" title="Тип аренды"><span class="filter-option pull-left">Тип аренды</span> <span class="caret"></span></button>
          В самом скрипте bootstrap-select.js есть строка:
          noneSelectedText: 'Nothing selected'
          как сделать так что бы вместо Nothing selected было название фильтра, как у вас с «Тип аренды»?
            Денис Богдановский
            05 июля 2015, 02:35
            0
            С этим разобрался вопросом… не внимательно прочитал пост…. но возникла другая проблема, после выбора пункта меню к тэгам не присваивается атрибут disabled, но если обновить страницу все ок, атрибут есть. В чем может быть тут дело?
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          10