Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » YADCF Год фильтр

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я должен извлечь год с даты, формат это: 2022-10-22
 
Используйте «YADCF» с «DataTables» для этого
 
Это стандартный фильтр, с разделителем -
 
 
 

Код:
).yadcf([
               {column_number : 3,  
        html_data_type: "text",  
        text_data_delimiter: "-",
        filter_default_label: "Date"
        },

 
   
 
с регулярным выражением
 

Код:
 
text_data_delimiter: /[0-9]{4}/,
 

 
   
 
Просмотреть месяц и день,
Но не год, мне нужен только год

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 11:25 22-10-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
date_format: "yyyy"

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 11:42 22-10-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 

Цитата:
date_format: "yyyy"
 

 
 
это не работает, напротив, ухудшается
 
 
 
   
 

Код:
 
 
<script>
 
   ).yadcf([
   
        {column_number : 3,  
        html_data_type: "text",  
        //text_data_delimiter: /[0-9]{4}/,  
        //text_data_delimiter: "-",
        date_format: "yyyy",
        filter_default_label: "Date"
        },
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 13:10 22-10-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
html_data_type: "text",  

зачем?

Цитата:
filter_default_label: "date"

может быть чувствительно к регистру
 

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 22:05 22-10-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
html_data_type: "text",

 
Код верен, он должен быть «текст»,
Если я вставлю «дату», я отображаю календарь
В делимитаторе он обслуживает регулярное выражение для извлечения только года
 

Код:
text_data_delimiter:
 <---------------регулярное выражение ?????????  
 
 
Обновлено
 
 
Добавлено:
 
это работает,
с регулярным выражением
 

Код:
text_data_delimiter: /-\d{2}-\d{2}/,  

 
   
 
За исключением того, что он отображает 2 значения, одну пустоту и один с текущим годом, который показывает нулевые данные
 
Эти 2 значения не следует просматривать
 
   
 

Код:
 
 
).yadcf([
               {column_number : 3,  
        html_data_type: "text",  
        text_data_delimiter: /-\d{2}-\d{2}/,  
        //text_data_delimiter: "-",
        filter_default_label: "Date"
        },
 
 

 
какая -то часть кода и быть исправленной

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 11:23 23-10-2022 | Исправлено: zagorisback, 12:24 23-10-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
<---------------регулярное выражение ?????????  

может быть и регуляркой
https://github.com/jbox-web/yadcf/blob/master/dist/js/yadcf.js

Код:
          if (columnObj.text_data_delimiter != null) {
            if (columnObj.column_number_data === void 0) {
              col_inner_elements = data[j]._aData[column_number_filter].split(columnObj.text_data_delimiter);
            } else {
              col_inner_elements = dot2obj(data[j]._aData, columnObj.column_number_data);
              col_inner_elements = (col_inner_elements + '').split(columnObj.text_data_delimiter);
            }

но это, как и следует из названия, просто разбивает данные для полного списка.
не влияет на отображение, только на фильтрацию и так далее.
 

Цитата:
За исключением того, что он отображает 2 значения, одну пустоту и один с текущим годом, который показывает нулевые данные  
 
Эти 2 значения не следует просматривать

ну откуда мы знаем что именно у вас там?? даже примера нет, как тут, например
https://jsfiddle.net/y2ghwpbs/1/
нужно смотреть какому значению в SELECT оно равно. может там пробел или еще какой символ
 
пустота же появляется по понятной причине.. регулярка разбивает выражение на составляющие, поэтому вот это
alert('2022-01-01'.split(/-\d{2}-\d{2}/))
выдаст 2022 и '', пустота и пойдет отдельной строкой в фильтр.
 
text_data_delimiter используется для создания общего списка элементов.
если в строке есть 2002,2003,2004, то разделитель , выдаст 3 значения для фильтра
это не тот инструмент, что используется для фильтра.
 
копать в https://yadcf-showcase.appspot.com/DOM_source.html

Цитата:
//----------------------------------------------
    //Example on how to define a custom filter function
    //this function is goinf to be passesd to yadcf as custom_func parameter value
    //and going to be tested against each value in the column
    //----------------------------------------------

Всего записей: 15117 | Зарегистр. 20-09-2014 | Отправлено: 00:39 24-10-2022 | Исправлено: Mavrikii, 01:10 24-10-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
 
В общем, это присутствует в коде
Я должен исключить только год и вариант (если отсутствует год)
Пример: 2022
Год не присутствует: дата не доступна
 
Как они выбирают все остальное и оставляют эти 2 значения?
 
https://regex101.com/r/Ai4w3Z/1
ps:
 
jsfiddle.net Я не могу открыть это
Может быть, заблокирован моим провайдером
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 18:49 24-10-2022 | Исправлено: zagorisback, 21:28 24-10-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Решено путем исправления кода и устраняет <span>
 
Теперь фильтры в порядке, без пустых пространств или дубликатов

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 20:21 25-10-2022 | Исправлено: zagorisback, 20:24 25-10-2022
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » YADCF Год фильтр


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru