3
respostas

datePicker

Preciso criar um evento para esconder datas anteriores à hoje.

Fiz o seguinte bloco:

    $('#datestart').each(function () {
        $('input.date-picker').each(function () {
            $('#datestart').flatpickr({
                minDate: 'today',
                dateformat: 'd/m/y'
            })
        });
    });    

Mesmo assim, não funcionou. Pode me ajudar?

3 respostas

Oi Renan, tudo bom?

Rola algum erro no console? Dando uma olhada na documentação do flatpickr, o único exemplo de data no formato dia/mes/ano é com ponto:

{
    dateFormat: "d.m.Y",
    maxDate: "15.12.2017"
}

A API de datas do javascript costuma dar bastante dor de cabeça com formatação d/m/Y.

Além disso, vale tentar trocar seu y de minusculo pra maiusculo, já que eles tem comportamentos diferentes =)

O problema não foi este. Eu estou tentando esconder as datas anteriores à hoje. Já consultei na documentação é o que tem é o seguinte: Já consultei também no stackoverflow;

Se eu coloco este código no console, ele roda normalmente. Ao colocar no meu código de script, ele não funciona.

    $("#dateStart").each(function () {
        $('input.date-picker').each(function () {
            $("#dateStart").flatpickr({
                dateFormat: 'd/m/Y',
                minDate: new Date()
            })
        });
    });

Só gostaria de saber o por quê?

Provavelmente pela ordem de import dos seus scripts. Se funciona no console é porque o console tem a biblioteca carregada corretamente, o que significa que seu script tem as bibliotecas necessárias, verifica se seu código está sendo executado depois do import da lib.

Além disso, o elemento de id dateStart existe no HTML? ou ele vem de algum append? As vezes um elemento novo no dom não é encontrando pelo jquery quando adicionamos pelo append.

Se você quiser, compartilha mais informação sobre seu problema aqui com a gente. Rola algum erro no console? O que acontece exatamente quando não funciona?

Aguardo retorno