Сравнить данные из input и data-attr

183
06 августа 2018, 07:20

Есть данные которые мы передаем в атрибут, в таком виде data-date=" 28.06.2018 28.06.2018 29.09.2018"

И есть input c datepicker, вопрос в том, как сделать проверку на совпадение даты из инпута с любой из указанных дат внутри атрибута.

Сейчас код выглядит так, понимаю что такое условие здесь точно не подходит, но не могу сообразить как его нужно записать:

                    $('.date-filter').on('change', function(){
                        var dateFilter = $('#date-filter').val();
                            $('.item').each(function() {
                              if(dateFilter === $(this).attr('data-date').split(' ')){
                              } else{
                              }
                            });
                    });
Answer 1

Если формат в datepicker такой же как и дат в data-date, то разбиваете по пробелу на массив и ищите совпадение в массиве

Т.е. как-то так:

var $this_input = $('.this_input');
    all_date = $this_input.attr('data-date').split(' ')
$this_input.on('change', function(){
  console.log(all_date.indexOf($(this).val()))
})
Answer 2

Как я понял есть одинаковый формат дат и стоит найти одинаковое. Возможно просто загнать их в JSON и сравнить как строки. Например вот так

var dateFilter = JSON.stringify($('#date-filter').val());
$('.item').each(function() {
     var tmp_formed = JSON.stringify($(this).attr('data-date'));
        if (dateFilter.localeCompare(tmp_formed) !==0){какой-то код}
}
READ ALSO
Работа с набором JQuery

Работа с набором JQuery

Написал скроллерХочу к кликнутому пункту сделать допвыборку элемента и применить к нему стили

209
Click срабатывает только один раз

Click срабатывает только один раз

Клик срабатывает только один раз, уже выносил за $(document)ready(function() {, писал с $('#btn')

216
Обход рекурсии .click()

Обход рекурсии .click()

Допустим есть такой код:

189
Видео не воспроизводится с первого раза при наведении

Видео не воспроизводится с первого раза при наведении

Есть каталог с видео фонами, при наведении на видео оно должно проигрываться, но иногда в браузерах (в частности opera) выводиться ошибка

195