In meiner Rails-App lade ich eine Tabelle aus einer @ results-Variablen, so dass jede Tabellenzeile ein @ result ist. Für jede @result-Tabellenzeile suche ich Schaltflächen, die mit diesem @Ergebnis verknüpft sind. Ich versuche, einen javascript eventlistener für jede Schaltfläche zu verwenden und dann auf das Ereignis in der js.erb-Datei zu überwachenWie kann ich jeder Schaltfläche ein Ereignis-Listener für ein Tabellenzeilenergebnis hinzufügen?
Beim Ausführen der App sieht es aus wie nur die erste Zeile der Schaltfläche hat den Ereignis-Listener, wie kann ich repariere das?
Wie könnte ich auch mein @result an mein Javascript weitergeben, damit ich Teile dieses Objekts nutzen kann?
Ich versuche dies durch Javascript zu tun, wie ich etwas kopieren möchte die Zwischenablage um und eine Datei auf die
js.erb
var copyTextareaBtn = document.querySelector('.button1');
copyTextareaBtn.addEventListener('click', function(event) {
# work with the @result that was clicked over here
});
html.erb
Computer speichern<% @results.each { |result| %>
<tr>
<td><%= result[:id] %></td>
<td>
<button class="button1"> B1 </button>
<button class="button2"> B2 </button>
<button class="button3"> B3 </button>
</td>
</tr>
<% } %>
Hey @cymen, danke für deine Antwort! Würdest du dann wissen, wie ich das "@result" zugeordnete Button verwenden kann? – chonglawr
@chonglawr Ich würde vorschlagen, eine andere Frage zu stellen, aber eine Möglichkeit besteht darin, eine ID für das Ergebnis oder ein anderes Attribut auf das DOM-Button-Element zu setzen und dann auf diese ID zu klicken, um festzustellen, auf welche geklickt wurde. Es gibt auch andere Möglichkeiten, aber viele Optionen. – Cymen