2016-08-01 29 views
0

Ich benutze Moustache.js, um eine Vorlage html zu erstellen und eine Reihe von Tabellen anzuzeigen. Ich möchte eine Funktion innerhalb dieser Vorlage mit einem Parameter aufrufen.Schnurrbart js Syntax, um eine Funktion mit Parameter aufzurufen?

Jede Tabelle, die aus der Vorlage für die Schnurrbartvorlage generiert wird, hat eine Schaltfläche darüber. Ich möchte eine Onclick-Funktion für diese Schaltfläche schreiben.So brauche ich den Tabellennamen bei der Verarbeitung des Ereignisses.

Kann jemand mir die korrekte Syntax geben, um Parameter zu übergeben?

<script id="TableTemplate" type="x-tmpl-mustache"> 
{{#tableDetails}} 
<button type="button" id=Edit_{{tableName}} onclick="editTable({{tableName}})"> 
{{#tableDetails}} 
</script> 

function editTable(tableName){ 
    console.log("tableName >>>"+tableName) 
} 

Danke.

+0

Das ist falsch. Erstellen Sie niemals Inline-Event-Handler. Verwenden Sie jQuery (oder etwas Ähnliches) für die Ereignisübergabe. (Angesichts Ihres Beispiels sieht es so aus, als sollten Sie sich ein MVVM-Framework wie knockout ansehen, das Templating * und * Event-Handling durchführt) – Tomalak

Antwort

1

Sie tun es fast richtig. Fügen Sie einfach die Anführungszeichen hinzu.

onclick="editTable('{{tableName}}')" 
+0

Danke Taha. Es funktionierte !! – JavaUser

+0

Es funktioniert - und es ist immer noch falsch, es so zu machen. – Tomalak

+0

Danke Tom, Was wird das Problem sein, wenn wir Inline Event Handler erstellen? – JavaUser