Страницы

Поиск по вопросам

Показаны сообщения с ярлыком фильтры. Показать все сообщения
Показаны сообщения с ярлыком фильтры. Показать все сообщения

среда, 22 января 2020 г.

Как связать 2 выпадающих меню между собой по ключу?

#javascript #html #jquery #html_select #фильтры


Есть 2 выпадающих меню: в первом - выводится марка автомобиля, а во втором, -к каждой
марке во вложенности дерева с глубиной data-sf-depth="1"? - ее модели. Как сделать
списки связанными, чтобы при выборе каждой марки появлялись только ее модели? У меня
пока получилось сделать так, что при выборе марки выводятся только модели (но все,
а не конкретно ее!), либо не выводится ни одна модель.





window.addEventListener("DOMContentLoaded", function() {
  var select1 = document.getElementsByClassName("sf-field-taxonomy-ad_cat")[0].getElementsByClassName("sf-input-select")[0],
    select2 = document.getElementsByClassName("sf-field-taxonomy-ad_cat")[1].getElementsByClassName("sf-input-select")[0],
    opt = [].slice.call(select1.options, 0),
    opt2 = [].slice.call(select2.options, 0);
  var value;
  select1.onchange = function() {
    opt.forEach(function(option, i) {
      if (option.selected) {
        value = option.value;
        return false;
      }
    });
    opt2.forEach(function(option, i) {
      var parent = option.parentNode;
      if (option.classList.contains("sf-level-1") || !i) {
        select2.appendChild(option);
      } else {
        if (parent) {
          parent.removeChild(option);
        }
      }
    });
  }
});

  • Ответы

    Ответ 1



    Я бы немного изменил логику: не стал бы в select с моделями дублировать марки, оставил бы там только модели и сделал бы этот select недоступным для выбора, пока не выбрана марка. Связал бы я два select'а следующим образом: моделям задал бы класс, который соответствует value марки. $('.cars').change(function(){ $('.models').prop('selectedIndex', 0); //ощищаем select с моделями при каждом изменении select'а с марками var car = $(this).val(); //получаем value выбранной марки if(car != '') { //проверяем, выбрана ли хоть какая-то марка $('.models').attr('disabled',false); //открываем select с моделями $('.models option').css('display','none'); //сначала скрываем все модели $('.models option.'+car).css('display','inline'); //затем открываем те, которые нам нужны } else { $('.models').attr('disabled',true); //если не выбрана ни одна марка, скрываем select с моделями } });



    воскресенье, 12 января 2020 г.

    Как сделать автокоррекцию изображения(Яркость\Контрастность) для изображения Android Opencv/ColorMatrixFilter

    #android #opencv #xamarin #фильтры

    
    Я использую OpenCV для андроида.
    Хотелось бы узнать,как можно сделать автокоррекцию изображения (контраст\яркость)
    посредством библиотеки OpenCV или же это можно сделать нативном образом?(через ColorMatrixFilter
    от Android'a).  
    
    Пытался нагуглить,но так и не нашел вменяего туториала\примера по данной теме.
    Как можно это сделать?
    Благодарю! 
        
    


    Ответы

    Ответ 1



    Несмотря на то, что алгоритмов восстановления неравномерно освещённых изображений разработано множество, OpenCV на сегодняшний день не предоставляет чего-то такого готового из коробки. Тем не менее в сети имеется множество примеров реализации и как раз с использованием OpenCV. Чаще всего встречаются алгоритмы на основе Retinex (немного связанной теории на русской вики: Цветопостоянство), но хотелось бы выделить сайт, если не ошибаюсь, хорватских разработчиков - "Image Processing Group". На нём в свободном доступе представлены не только исходники (С++ / OpenCV, лицензия GNU GPL), но даже и инструмент, позволяющий воочию оценить результаты работы алгоритмов непосредственно в браузере.

    понедельник, 8 июля 2019 г.

    Wireshark разница между двумя фильтрами

    Фильтр 1 : !(ip.addr == X.X.X.X) Фильтр 2 : ip.addr != X.X.X.X В обеих фильтрах правое выражение одинаковое. В чем между ними разница? А разница есть, т.к. один и тот же буфер после фильтрации выдает разные результаты. Спасибо.


    Ответ

    Разница между ними есть. !(ip.addr == X.X.X.X) значит ! (ip.src == X.X.X.X or ip.dst == X.X.X.X), то есть показать весь трафик кроме источника или назначения X.X.X.X. А ip.addr != X.X.X.X значит ip.src != X.X.X.X or ip.dst != X.X.X.X, то есть показать весь трафик кроме источника и назначения X.X.X.X. Подробнее про фильтры можно здесь почитать https://wiki.wireshark.org/DisplayFilters#Examples

    Фильтр в jQuery

    Все привет. Длительное время мучаюсь с одной проблемой, в данныый момент решаю ее следующим образом
    $('.sect_9 .items .item:first .mortgage').click(function() { $('.mortgages input[name="statistics"]').val($('.sect_9 .items .item:first .up').text()); });
    $('.sect_9 .items .item:eq(1) .mortgage').click(function() { $('.mortgages input[name="statistics"]').val($('.sect_9 .items .item:eq(1) .up').text()); });
    $('.sect_9 .items .item:eq(2) .mortgage').click(function() { $('.mortgages input[name="statistics"]').val($('.sect_9 .items .item:eq(2) .up').text()); });
    $('.sect_9 .items .item:eq(3) .mortgage').click(function() { $('.mortgages input[name="statistics"]').val($('.sect_9 .items .item:eq(3) .up').text()); });
    Как можно видеть при клике на кнопку с классом mortgage первого айтема должно вписываться значения класса up в скрытый input формы с первого айтема, а при клике на кнопку второго айтема, должно браться значения класса up опять же второго айтема. Если же я данные фильтры уберу (в данном случае это :first, :eq(1), :eq(2), :eq(3), то тупо при клике на кнопку любого айтема в форму будут записываться значения всех айтемов, которые есть в корне. А мне естественно надо, чтобы при клике допустим на кнопку 3 айтема бралось значения класса up с 3 айтема, а не со всех возможных 4 как в данном случае. Как это можно сделать? Заранее спасибо!!!
    html разметка 1 из айтемов

    ТРЁХКОМНАТНАЯ КВАРТИРА

    78,41 кв.м.

    Планировка
    3.200.000
    ЦЕНА ЗАСТРОЙЩИКА: 3.000.000 руб.

    В ИПОТЕКУ: 15.348 руб./месяц

    ОСТАЛОСЬ КВАРТИР: 4шт.

    задать вопрос
    или забронировать
    ЗАФИКСИРУЙТЕ ЦЕНУ СЕЙЧАС

    РАССМОТРЕТЬ В
    ИПОТЕКУ
    БЕСПЛАТНАЯ ЗАЯВКА НА РАССМОТРЕНИЕ


    Текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст, текст,



    А здесь html разметка формы

    Бесплатное рассмотрение ипотеки

    Высокий процент одобрения за счет индивидуального подхода.


    Да, я могу подтвердить доход справкой 2НДФЛ
    Нет, я не могу подтвердить доход справкой 2НДФЛЛ



    Ответ

    Понятно вопрос уже, вот как можно сделать.
    $('.sect_9 .items .item .mortgage').click(function() { var tmp_val = $(this).parent().find('.up').text(); $('.mortgages input[name="statistics"]').val(tmp_val); });
    Подробно объясню:
    Вешаем один обработчик для всех классов mortgage, и поскольку родитель нужного нам тега с классом up и тег mortgage один и тот же, то мы во время клика ищем родителя для текущего элемента потом в нем элемент up и таким образом всегда получаем нужный нам результат.