2017-05-11 1 views
-1

Bonjour, J'essayais de faire un filtre pour les réservations où les gens seraient capables de filtrer entre les dates qu'ils veulent enregistrer. J'ai utilisé le sélecteur de date/heure (http://xdsoft.net/jqplugins/datetimepicker/) mais le formulaire pour les sélecteurs ne fonctionne pas (ne me laisse pas choisir une date). J'utilise le format d.m.Y et cela semble être le problème car il fonctionne avec Y/d/m mais nous ne pouvons pas utiliser ce format. Voici mon code:Datetimepicker ne fonctionnant pas avec différents formats

function addPicker() { 
$.datetimepicker.setLocale('cs'); 
$("#from").datetimepicker({ 
    timepicker:false, 
    format:'d.m.Y', 
    value: '+1970/01/02', //today 
    scrollMonth : false, 
    scrollInput : false, 
    minDate: '+1970/01/02', 
    onShow:function(ct){ 
     this.setOptions({ 
      maxDate:$('#to').val()?jQuery('#to').val():false 
     }) 
    } 
}); 
$("#to").datetimepicker({ 
    timepicker:false, 
    format:'d.m.Y', 
    value: '+1970/01/08', //a week from today 
    scrollMonth : false, 
    scrollInput : false, 
    onShow:function(ct){ 
     this.setOptions({ 
      minDate:jQuery('#from').val()?jQuery('#from').val():false 
     }) 
    } 

}); 
} 
$(document).ready(function() { 
addPicker(); 
}); 

et html:

<input type="text" name="from" id="from"> 
<input type="text" name="to" id="to"> 

S'il vous plaît si vous avez des conseils laissez-moi savoir. Merci.

+0

Je doute fortement vos problèmes sont liés à la chaîne de format car il y a des exemples de travail sur [la page de plugin lié à] (http://xdsoft.net/jqplugins/datetimepicker/) en utilisant exactement le même format que vous. –

+0

vous voulez une date 'from' pourrait être et date ou doit être une date future? aussi la date «à» quel comportement vous essayez d'avoir? –

+0

"de" doit être demain car les clients ne seront pas en mesure de réserver pour la date du jour. la limite doit être "à" date de 3.4 à 1.4 n'aurait aucun sens. –

Répondre

0

Ok, il semble que les auteurs n'aient pas pensé à renvoyer des formats différents à maxDate, j'ai donc créé un petit script pour transférer ma date au format américain. Je vais juste laisser ça ici, ça aide quelqu'un d'autre.

function convertDate(czechDate){ 
    var parsed = czechDate.split("."); 
    return parsed[2]+"/"+parsed[1]+"/"+parsed[0]; 
} 

et modifié le code d'origine.

function addPicker() { 
 
    $.datetimepicker.setLocale('cs'); 
 

 
    $("#from").datetimepicker({ 
 
    timepicker: false, 
 
    format: 'd.m.Y', 
 
    value: '+1970/01/02', //today 
 
    scrollMonth: false, 
 
    scrollInput: false, 
 
    minDate: '+1970/01/02', 
 
    onShow: function(ct) { 
 
     this.setOptions({ 
 

 
     maxDate: $('#to').val() ? convertDate(jQuery('#to').val()) : false 
 
     }) 
 
    } 
 
    }); 
 
    $("#to").datetimepicker({ 
 
    timepicker: false, 
 
    format: 'd.m.Y', 
 
    value: '+1970/01/08', //a week from today 
 
    scrollMonth: false, 
 
    scrollInput: false, 
 
    onShow: function(ct) { 
 
     this.setOptions({ 
 
     minDate: jQuery('#from').val() ? convertDate(jQuery('#from').val()) : false 
 
     }) 
 
    } 
 

 
    }); 
 
} 
 

 
function convertDate(czechDate) { 
 
    var parsed = czechDate.split("."); 
 
    return parsed[2] + "/" + parsed[1] + "/" + parsed[0]; 
 
} 
 
$(document).ready(function() { 
 
    addPicker(); 
 
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.4/build/jquery.datetimepicker.min.css" rel="stylesheet" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.4/build/jquery.datetimepicker.full.min.js"></script> 
 

 

 

 
<input type="text" name="from" id="from"> 
 
<input type="text" name="to" id="to">