Size: a a a

MODX. Русскоязычное сообщество.

2021 February 16

АК

Алексей Казанцев... in MODX. Русскоязычное сообщество.
Дмитрий
да mFilter2
Я сортирую джаваскриптом. при загрузке страницы получаю массив с тегами option , сортирую в нужном порядке и вставляю обратно
источник

АК

Алексей Казанцев... in MODX. Русскоязычное сообщество.
Тоже не нашел другого решения.
источник

АК

Алексей Казанцев... in MODX. Русскоязычное сообщество.
Дмитрий
на modx.pro находил похожие проблемы но решение нету, по крайне мере мне не помогло
   $(window).on("load",function(){
       var m = $("select[name=px_step]").val();
       var arr = $("select[name=px_step]").children('option');

       $("select[name=px_step]").html(
           $("select[name=px_step]").children('option')
               .sort(function(a, b){
                   return ($(b).data('sort')) < ($(a).data('sort')) ? 1 : -1;
               })
       );
       $("select[name=px_step]").prepend($("select[name=px_step]").find('option[value=""]'));
       $("select[name=px_step]").val(m);
   });
источник

АК

Алексей Казанцев... in MODX. Русскоязычное сообщество.
Алексей Казанцев
   $(window).on("load",function(){
       var m = $("select[name=px_step]").val();
       var arr = $("select[name=px_step]").children('option');

       $("select[name=px_step]").html(
           $("select[name=px_step]").children('option')
               .sort(function(a, b){
                   return ($(b).data('sort')) < ($(a).data('sort')) ? 1 : -1;
               })
       );
       $("select[name=px_step]").prepend($("select[name=px_step]").find('option[value=""]'));
       $("select[name=px_step]").val(m);
   });
вместо px_step поставь свой name
источник

АК

Алексей Казанцев... in MODX. Русскоязычное сообщество.
а ну еще надо data-sort прописать
источник

Д

Дмитрий in MODX. Русскоязычное сообщество.
Алексей Казанцев
вместо px_step поставь свой name
спасибо большое, сейчас попробую
источник

EG

Evgeniy Gromin in MODX. Русскоязычное сообщество.
Алексей Казанцев
а ну еще надо data-sort прописать
а почему не
return $(b).data('sort') < $(a).data('sort');

не докопаться ради, а просто глаз зацепился
источник

АК

Алексей Казанцев... in MODX. Русскоязычное сообщество.
Evgeniy Gromin
а почему не
return $(b).data('sort') < $(a).data('sort');

не докопаться ради, а просто глаз зацепился
Хороший вопрос, не совсем мое решение:)  видимо нужно возвращать либо 1 либо -1  а не true false
источник

АК

Алексей Казанцев... in MODX. Русскоязычное сообщество.
Или sort будет и так работать?
источник

АК

Алексей Казанцев... in MODX. Русскоязычное сообщество.
Evgeniy Gromin
а почему не
return $(b).data('sort') < $(a).data('sort');

не докопаться ради, а просто глаз зацепился
А чет не сработало
источник

EG

Evgeniy Gromin in MODX. Русскоязычное сообщество.
там проверяется результат меньше нуля или больше нуля
источник

EG

Eugene Generalov in MODX. Русскоязычное сообщество.
Я делал через другой костыль. Добавлял к значениям
1|Понедельник, 2|Вторник ... и т.п
Перед выводом разбивал в фильтре значение через "|" и название выводил. Костыль конечно, но работало
источник

EG

Eugene Generalov in MODX. Русскоязычное сообщество.
Правда в других местах, где значения выводились, тоже пришлось разбить, но фильтры фенома могут в этом легко помочь
источник

EG

Evgeniy Gromin in MODX. Русскоязычное сообщество.
Алексей Казанцев
А чет не сработало
а, блин - копирнул и не поправил
return $(b).data('sort') - $(a).data('sort');
источник

EG

Evgeniy Gromin in MODX. Русскоязычное сообщество.
вот так
источник

АК

Алексей Казанцев... in MODX. Русскоязычное сообщество.
Eugene Generalov
Я делал через другой костыль. Добавлял к значениям
1|Понедельник, 2|Вторник ... и т.п
Перед выводом разбивал в фильтре значение через "|" и название выводил. Костыль конечно, но работало
Да кстати когда то подобное решение реализовывал. Сортиировка, затем вырезание лишнего
источник

АК

Алексей Казанцев... in MODX. Русскоязычное сообщество.
Evgeniy Gromin
а, блин - копирнул и не поправил
return $(b).data('sort') - $(a).data('sort');
Супер:) работает
источник

EG

Eugene Generalov in MODX. Русскоязычное сообщество.
{var $key = $table ~ $delimeter ~ $filter}
{if $filter == 'age'}
   {set $tmp = $title | split : "|"}
   {set $title = $tmp[1]}
{/if}
<label for="mse2_{$key}_{$idx}" class="{$disabled}">
   <input type="checkbox" name="{$filter_key}" id="mse2_{$key}_{$idx}" value="{$value}" {$checked} {$disabled}/>
   <span>{$title} &nbsp;({$num})</span>
</label><br/>
источник

АК

Алексей Казанцев... in MODX. Русскоязычное сообщество.
Eugene Generalov
{var $key = $table ~ $delimeter ~ $filter}
{if $filter == 'age'}
   {set $tmp = $title | split : "|"}
   {set $title = $tmp[1]}
{/if}
<label for="mse2_{$key}_{$idx}" class="{$disabled}">
   <input type="checkbox" name="{$filter_key}" id="mse2_{$key}_{$idx}" value="{$value}" {$checked} {$disabled}/>
   <span>{$title} &nbsp;({$num})</span>
</label><br/>
Да, думаю тоже вариант
источник

EG

Eugene Generalov in MODX. Русскоязычное сообщество.
Я думаю на JS лучше вариант
источник