0

Gibt es eine Möglichkeit, Monat Typ als Zahl (d. H. Textfeld mit Pfeil nach oben und unten) anstelle von Dropdown anzuzeigen.Jquery Datepicker - css

Bitte helfen Sie dabei. Sehen Sie meine Demo: https://jsfiddle.net/sharmilashree/VBGKU/1067/

.ui-datepicker-calendar tr { 
    text-align: center; 
    padding: 0; 
    background-color: #F6F6F6 
} 

enter image description here

+0

Bitte klären Sie, wenn Sie jedes Teil, Tag, Monat und Jahr mit einem Spinner anpassen möchten? Sehen Sie mehr: http://jqueryui.com/spinner/ Oder fragen Sie über die Verwendung von HTML5 'input type = 'number' speziell für den Monat in der Datumsanzeige? – Twisty

+0

Siehe auch: http://jqueryui.com/datepicker/#dropdown-month-year – Twisty

+0

für Jahr allein muss ich HTML5-Eingabe Typ = 'Nummer' Kontrolle – Ammu

Antwort

0

Dies wird ein schwieriges Problem zu umgehen sein. Dies ist nicht einfach. Hier ist, was ich bisher:

https://jsfiddle.net/Twisty/ge6zh5es/6/

HTML

<p>Date: 
    <input type="text" id="datepicker" class="Highlighted" /> 
</p> 

JavaScript

$(function() { 
    var minYear = 2006, 
    maxYear = new Date().getFullYear(); 
    maxYear++; 
    var $dp = $("#datepicker").datepicker({ 
    changeYear: true, 
    dateFormat: "dd-mm-yy", 
    yearRange: minYear + ':' + maxYear, 
    }); 
    $dp.datepicker("setDate", "0"); 

    function changeSpinner($dpObj) { 
    var $yearSpin = $("<input>"); 
    $yearSpin.addClass("ui-datepicker-year"); 
    $yearSpin.attr({ 
     type: "number", 
     min: minYear, 
     max: maxYear, 
     value: new Date().getFullYear() 
    }).data("handler", "selectYear").data("event", "change"); 
    $yearSpin.on("change", function() { 
     console.log("Spinner Change Event."); 
     var pDate = $dpObj.datepicker("getDate"); 
     pDate.setFullYear(parseInt(this.value)); 
     console.log("New Date: " + pDate); 
     $dpObj.datepicker("setDate", pDate); 
    }); 
    console.info("Created Spinner: ", $yearSpin); 
    $dpObj.datepicker("widget").find(".ui-datepicker-year").replaceWith($yearSpin); 
    } 

    $("#datepicker").click(function() { 
    changeSpinner($dp); 
    }).change(function() { 
    changeSpinner($db); 
    }); 
}); 

Dies funktioniert nur das erste Mal. Der Datepicker selbst hat keine Ereignisse, an die ich mich anhängen kann, um die Ersetzung jedes Mal durchzuführen. Ich muss auch einige Funktionen hinzufügen, damit dieses neue Element richtig mit dem Datepicker funktioniert.

Ich überlege, die Titelleistenelemente zu entfernen und sie zu trennen. Ich werde diese Antwort mit weiteren Details aktualisieren. Eine andere Möglichkeit besteht darin, das Element select zu verbergen und einen Kreisel darüber zu platzieren. Dieser Drehregler ändert dann das Auswahlelement.

+0

Danke Twisty für Ihre Hilfe. Zum ersten Mal sieht es gut aus und wenn das Ganze noch bleibt, wird es großartig. Ich werde zwischenzeitlich auch etwas mit deinem Input versuchen. Wenn Sie irgendeine Lösung haben, teilen Sie bitte Vielen Dank im Voraus .. – Ammu

+0

Arbeite daran. Fast schon. – Twisty