2016-11-10 4 views
1

Ich benutze die Arbeit mit einer Javascript-Benutzeroberfläche, die Bootstrap 3 Datepicker v4 enthält. Die Daten verwenden '0' als spezielles Flag, das der Benutzeroberfläche zugewiesen wird. Ich finde, dass der Versuch, den Wert des Feldes auf 0 zu setzen, nicht funktioniert, und bei weiteren Untersuchungen erstreckt es sich bis zu dem Punkt, wo es bei 14400000 arbeitet, aber nicht bei 13999999. Was mache ich falsch oder was kann ich tun? anders, um den Wert auf 0 zu setzen?Bootstrap 3 Datepicker v4 - Datum kann nicht auf Werte zwischen 0 und 14400000 gesetzt werden

HTML:

<h1>Demo</h1> 
<form class="form-group" onsubmit="return false;"> 
    <div class="form-group"> 
    <label for="enddate">End Date</label> 
     <div class='input-group date' id='enddate'> 
     <input type='text' class="form-control" /> 
     <span class="input-group-addon"> 
      <span class="glyphicon glyphicon-calendar"></span> 
     </span> 
    </div> 
    </div> 
    <button id="zeroButton">Set Zero</button> 
    <button id="grossButton">Set Gross</button> 
    <button id="grosslessButton">Set Grossless</button> 
    <button id="todayButton">Set Today</button> 

    </button> 
    </button> 
</form> 

JS:

$(document).ready(function() { 
    $("#enddate").datetimepicker(); 

    $("#zeroButton").click(function() { 
    // set to Jan 1, 1970 
    $("#enddate").data("DateTimePicker").date(new Date(0)); 
    }); 
    $("#grossButton").click(function() { 
    // set to Jan 1, 1970 
    $("#enddate").data("DateTimePicker").date(new Date(14400000)); 
    }); 
    $("#grosslessButton").click(function() { 
    // set to Jan 1, 1970 
    $("#enddate").data("DateTimePicker").date(new Date(14399999)); 
    }); 
    $("#todayButton").click(function() { 
    // set to Jan 1, 1970 
    $("#enddate").data("DateTimePicker").date(new Date()); 
    }); 
}); 

Schauen Sie sich die working version on the jsfiddle.

+0

ich getestet: 'var zeroDate = new Date (0);' und das Ergebnis ist: 'Mi 31. Dezember 1969 19.00.00 GMT-0500 (Hora est. Pacífico, Sudamérica) 'da dieses Datum kleiner ist als ** 1. Januar 1970 ** vielleicht funktioniert es nicht, weil es nicht als gültiges Datum (von der Datepicker v4) erkannt wird, das Sie verwenden. –

+1

Mit Date (0) versuchen Sie etwas wie 01/01/0001 zu bekommen? –

+0

Ihr Code scheint in Ordnung zu sein, ich fürchte, das ist ein Fehler in der letzten Version des datetimepicker, in der Tat, alles funktioniert gut mit der Version '4.17.37'. – VincenzoC

Antwort

0

Der Bootstrap 3 datetimepicker verwendet die Momentbibliothek. Der Pass in einem Moment Objekt anstelle eines Date-Objekt:

$("#zeroButton").click(function() { 
    // set to Jan 1, 1970 
    $("#enddate").data("DateTimePicker").date(moment(0)); 
    }); 
Verwandte Themen