Jump to content


Photo
- - - - -

Paзрядность Чисел В Фильтре По Диапазону

фильтр разрядность разделитель

1 reply to this topic

#1 al2401

al2401
  • JBZoo User (rus)
  • User rate: 0.7
  • posts: 173
  • topics: 56

Posted 08 October 2018 - 11:16

Добрый день, как в фильтре по диапазону (не слайдер) добавить разрядность, на форуме нашел примеры только для слайдера

 

Если отформатировать с помощью JS например 1000000 => 1 000 000 фильтр соответственно не срабатывает, в JBZoo нужно добавить код для удаления пробелов, перед обработкой условий поиска, подскажите где искать,

или может есть готовое решение.


Edited by al2401, 08 October 2018 - 13:59.

  • 0

#2 al2401

al2401
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 0.7
  • posts: 173
  • topics: 56

Posted 23 October 2018 - 11:10

Добавить разделители разрядов любым способом:

самое простое решение:

    $('input.jbfilter-element-tmpl-text-range').on('input',function(e){
        this.value = this.value.replace(/ /g,"");
        this.value = this.value.replace(/\B(?=(\d{3})+(?!\d))/g, " ");
    });

или использовать http://autonumeric.org/

 

получится вид:

range.jpg

 

Теперь, чтобы фильтр работал, нужно убрать из запроса символы разделителя разрядов " "

В файле 

media\zoo\applications\jbuniversal\framework\models\jbmodel.filter.php

в функции

_getSearchSelect

после строк

            foreach ($elements as $elementId => $value) {
                $i++;

вставить

                // В фильте по диапазону убираем разделители разрядов ' '
                if (array_key_exists('range', $value)) {
                        $value['range'][0] = str_replace(' ', '', $value['range'][0]);
                        $value['range'][1] = str_replace(' ', '',$value['range'][1]);
                }

Edited by al2401, 28 March 2019 - 11:19.

  • 1





Also tagged with one or more of these keywords: фильтр, разрядность, разделитель

Click to return to top of page in style!