Bootstrap Datepicker in PHP ausgeben

  • Hallo leute,


    ich habe ein Problem mit dem Datepicker habe im Internet versucht mit dem Formbuilder von formden und auch auf dieser seite versucht was zu finden. jedoch kriege ich den Datepicker von Bootstrap nicht in einem <td> angezeigt.


    ich zeige mal was ich versucht habe:

    ich hoffe ihr könnt mir helfen.

    ich brauche den blöden datepicker hält mein ganzes projekt auf

  • Zunächst mal gibt es das Element .dates #user1 nicht, was soll er also verknüpfen?!

    Da ich davon ausgehe, dass hier mal wieder relevanter Code gekürzt wurde und es heißt, dass es das Element im Original-Code gibt, läuft es auf ein Ratespiel raus.


    Btw., warum macht man das:

    PHP
    echo "          <td>";?><script type="text/javascript">date();</script><?php echo "</td>\n";

    bleib konsequent in einem Kontext, entweder

    PHP
    echo '<td><script type="text/javascript">date();</script></td>';

    oder ausbrechen

    HTML
    ...
    ?>
    <td><script type="text/javascript">date();</script></td>
    <?php
    ...

    Ausserdem würde ich den Aufruf der Funktion am Ende des DOM machen bzw. in einem entsprechenden load-Event

  • Zunächst mal gibt es das Element .dates #user1 nicht, was soll er also verknüpfen?!

    Da ich davon ausgehe, dass hier mal wieder relevanter Code gekürzt wurde und es heißt, dass es das Element im Original-Code gibt, läuft es auf ein Ratespiel raus.....

    erstmal danke für deine antwort. aber ich bin totaler noob, deswegen hilf es mir relativ wenig. aus dem grund habe ich es ja mit dem formbuilder von formden versucht ich möchte halt diesen typischen datepicker haben. also nicht nur das inputfeld sondern auch wenn man reinklickt das sich die bekannte datumsanzeige öffnet. kannst du mir da schritt für schritt helfen?

  • Hi,


    Nimm das nicht persönlich, ich schreibe Antworten nicht, um jemandem die Lust zu nehmen oder ihn in irgendeiner Weise nieder zu machen.

    Wer hat nicht auch mal angefangen und musste vieles erstmal lernen. ;)


    Dein Problem bestätigt mir allerdings meine Ansicht, dass es nie eine gute Idee ist, Tools zu verwenden, wenn man die Grundlage und Basis nicht verstanden hat.


    Ich gebe Dir mal ein kleines Beispiel, was ich meine (vielleicht weißt Du das ja schon, aber nur zum Verständnis):

    Gegeben sei folgendes HTML

    HTML
    <div class="dates">
      <input id="userdate">
    </div>

    Um das Element <input> zu selektieren, muss bspw. dieser Pfad verwendet werden .dates #userdate, d.h. in gesprochenen Worten: Element mit der ID(#) userdate, das sich als Kindelement in einem Element mit der CLASS(.) dates befindet.


    In CSS sähe die Selektierung so aus:

    CSS
    .dates #userdate { ... }

    JavaScript macht nichts anderes, ganz egal ob nativ oder per Library/Framework.

    Grundsätzlich sähe das in JS in etwa so aus:

    JavaScript
    var _dateElement = querySelector( '.dates #userdate' );

    ginge auch direkt über getElementByID('#userdate'); und noch weiteren Methoden, aber bei querySelector() sieht man die Äquivalenz zum CSS-Pfad sehr gut.


    Auch jQuery - was Du verwendest - macht es nicht anders, die haben nur eine Methode zur Verfügung gestellt, die mit $ benannt wurde. Du kannst also querySelector() einfach mit $ ersetzen und hast das selbe Ergebnis:

    JavaScript
    $( '.dates #userdate' );

    Da steckt also keine große Magie hinter ;)


    Ok, das war jetzt hoffentlich nicht zu viel zu dem Thema?!

    Was am Ende klar sein sollte, wie man Elemente selektiert, die man ansprechen/verändern möchte.


    Denn wenn das klar ist, sollte auch klar sein, was dieses Script hier macht:

    JavaScript
    $(function date(){
        $('.dates #user1').datepicker({
            'format':'yyyy-mm-dd',
            'autoclose': true,
        }).datepicker("setDate",'now');
    });

    Step by Step heißt das:

    $('.dates #user1') selektiert also das Element, wie oben beschrieben. Als Resultat erhalten wir ein HTMLElement-Objekt auf das Du per Chaining ( der . ) eine weitere Methode anwenden kannst, hier die Methode datepicker().

    format und autoclose sind Parameter, die als ein Objekt an die Methode übergeben werden, daher die geschweiften Klammern.


    Was also grundsätzlich fehlt - zumindest in dem von Dir gezeigten Code -, ist das Element .dates #user1.

    Weiterhin denke ich, dass das JS eher so stimmen müsste:

    JavaScript
    $(function date(){
        $('.dates #user1').datepicker({
            'format':'yyyy-mm-dd',
            'autoclose': true,
        });
    });

    weiterhin vorausgesetzt, er findet das Element .dates #user1.


    Ich hoffe, das war einigermaßen verständlich?

  • Hi,


    Nimm das nicht persönlich, ich schreibe Antworten nicht, um jemandem die Lust zu nehmen oder ihn in irgendeiner Weise nieder zu machen.

    Wer hat nicht auch mal angefangen und musste vieles erstmal lernen. ;)....

    danke verstanden

    und es klappt!!!


    jedoch nur noch ein problem komischerweise kann ich nicht auf deutsche sprache schalten habe diesen locales datepicker in den entsprechenden ordner gepackt geht aber nicht.


    dann habe ich die orig datei manipuliert. jetzt habe ich alles auf deutsch aber mir wäre es natürlich lieber ohne diese manipulation

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!