[Smarty] assign Variable durch javascript onclick?

demo1987

Mitglied
ich lade in einem template eine tabelle, jede tr ist ein datensatz, am ende der tr ist ein button

ich möchte das wenn dieser button geklickt wird eine id aus diesem datensatz in eine andere smarty variable gepackt wird

die neue variable soll dann an anderer stelle ausgegeben werden

hier ist die schleife. Der Wert von {$medicalservice.id} soll nach dem click übergeben werden
HTML:
...
<tbody>
  {foreach $medicalservices as $medicalservice}
  <tr>
         <td class="pl18 pr18">{$medicalservice.id}</td>
         <td class="pl18 pr18">{$medicalservice.title}</td>
         ...
         <td class="pl18 pr18">
           <div class="btn-group">
             <button id="set-id" type="button" class="btn btn-info light"><span>Lage &ouml;ffnen</span>
             </button>
           </div>
         </td>
  </tr>
  {/foreach}
</tbody>
...

Der Wert soll über den button mit der id #set-id in die smarty variable {$set-id} übergeben werden.

Die neue variable wird unter der tabelle ausgegeben:
HTML:
<p>Es wurde {$set-id} gesetzt</p>

-------------------------------------------------------------

Ich habe schon alles versucht, link aufrufen und in einer php datei die $_GET variable an smarty übergeben
per ajax call die daten setzen

Ajax wäre glaub ich der beste Weg aber entweder meine Javascript Kenntnisse sind echt sooo schlecht oder es klappt mit smarty nicht so gut.

aber nichts hat funktioniert

wie würdet ihr es machen? was mache ich falsch?
 
Also ohne Ajax zu können, fällt mir auf, dass der Button, die betreffende ID nicht enthält und scheinbar jeder Button die selbe Button-ID besitzt, aber eine Button-ID, sowie alle anderen, sollten nicht mehrfach vergeben sein. Vielleicht liegt es daran, ansonsten ohne Ajax geht es ja nur mit einem neuen seiten laden, was du ja scheinbar nicht haben willst.
 
genau so ist es ;) Du verlinkst auf die selbe Seite, wo die Tabelle sowieso eingebunden ist und hängst so zusagen nur die ID, an die selbe Adresse hinten dran. Dann wertest du diese übergebene ID aus, falls sie vorhanden ist, wenn Sie nicht vorhanden ist, überspringst du mit if, die weitere Auswertung. In der Auswertung solltest du überprüfen, ob dies eine gültige ID ist und danach übergibst du diese an das Smarty. Aber beachte bitte, das ein Bindestrich immer eine gefährliche Trennung für Parameter oder ähnliche dringe ist, weil diese als Minus vielleicht mal verwendet werden können. Wie es mit der Smarty-Variable genau war, kann ich dir mom garnicht genau sagen, aber nimm lieber den Unterstrich.
 

Neue Beiträge

Zurück