JavaScript PHP-Wert in JavaScript-Funktion berücksichtigen?

Dsimon24

Lieutenant
Registriert
Aug. 2016
Beiträge
595
Servus!

Ich versuche gerade ein kleines Script für ein kleines Vorhaben anzupassen,
möchte es aber möglichst nur gering anpassen. Es muss quasi nur einen kleinen Zweck
erfüllen. Dabei komme ich jedoch nicht weiter. Vielleicht habt ihr einen Tipp für mich...

HTML:
<!-- Heute ist der 10.06.2022 -->
<button type="button" onclick="open_data()">
    <time datetime="{{ date('Y-m-d') }}">
        Anzeigen!
    </time>
</button>

<!-- $arr hat den Wert des heutigen Datums: 2022-06-10 -->
<div id="{{ $arr }}" style="display: none;">
    <div>Dieses Feld anzeigen</div>
</div>

Javascript:
var open_data = function () {
  document.getElementById("{{ $arr }}").style.display = "block";
}

Ziel soll folgendes sein:
Der erste Code-Teil ist in der finalen Version mit einer PHP-Schleife versehen.
Jedes DIV hat als ID ein entsprechendes Datum. Ich würde gerne per Klick auf dem Button ermöglichen,
dass das DIV darunter mit dem ebenfalls entsprechendem Datum geöffnet wird. Das Datum befindet
sich in der PHP-Variable $arr.

Ja, PHP = Server, JS = Client - aber die Seite wird ja zuvor vollständig erstellt.
Dann sollte der Wert der PHP-Variablen doch auch schon im Client sein.

Habt ihr eine Idee, wie ich das lösen könnte?

LG.
 
Ja du kannst die Zuweisung z.b. über ein Data Attribute machen. Sinnvoller wäre es dort aber direkt der Wert der angezeigt werden soll reinzuschreiben - und dann den Wert per JS in das DIV zu laden das angezeigt wird - statt 100 solche divs zu erstellen.
 
kim88 schrieb:
Ja du kannst die Zuweisung z.b. über ein Data Attribute machen. Sinnvoller wäre es dort aber direkt der Wert der angezeigt werden soll reinzuschreiben - und dann den Wert per JS in das DIV zu laden das angezeigt wird - statt 100 solche divs zu erstellen.
Hast du da mal ein Beispiel oder zumindest einen Ansatz mit dem Data Attribute für mich?

Da es alles mit Schleifen verbunden ist und der Wert schlussendlich aus er Datenbank gezogen wird (sind Uhrzeiten zum jeweiligen Termin) denke ich, dass es mit der anderen Benennung eher schwieriger wird. Aber werde ich nochmal prüfen :)
 
Du kannst dir auch ein "gerendertes" JavaScript von deiner PHP-Anwendung ausspucken lassen. Sprich, du greifst nicht direkt auf das JS-File zu, sondern auf eine PHP-Anwendung, die es dir ausgibt.
 
Code:
<div id="<?php echo $arr ?>" style="display: none;">
    <div>Dieses Feld anzeigen</div>
</div>

var open_data = function () {
  document.getElementById("<?php echo $arr ?>").style.display = "block";
}
 
Zurück
Oben