Rendern teilweise von jquery und haml
Die Funktionalität, die ich Plane auf tun, ist, fügen Sie einige Formular-Elemente abhängig von einer Reihe gewählt, die von einer select-tag.
Habe ich ein select-tag namens für number_of_passengers, und ich Plane, dynamisch anfügen von neuen personenwagen Felder für die Nummer gewählt. Sagen ich wähle 2 aus number_of_passengers, dann 2 Formulare angezeigt werden soll in ein fieldset. diese Formulare enthalten name, Alter, Gewicht etc.
Ich habe versucht, nach dieser:
rufen Sie ein-Schienen-Funktion von jquery?
und einfach konvertiert es zu haml-sprechen, aber ich bekomme Fehler, wenn ich benutze die :javascript-tag. Auch ich glaube nicht, dass ich "die Flucht" den javascript-tag-einmal bin ich in es
:javascript
$('#number_of_passengers').change(function() {
var $num_of_passengers = $(this).val();
for($i=0; $i<$num_of_passengers;$i++) {
$('.passenger-info ul').append('<%= escape_javascript( render :partial => "new_passenger", :locals => {:booking => @booking }) %>');
}
})
auch da bin ich ein form_for, wie gebe ich dem @ - Buchung-variable an die lokale? Es scheint wirklich kompliziert und ich bin der Planung zu tun, die schmutzige Art und Weise einfach Schleife 20-mal(20 max Passagiere) dann einfach ein - /ausblenden je nach der gewählten Nummer. Aber das ist viel zu schmutzig, denken Sie nicht?
InformationsquelleAutor corroded | 2010-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Um die interpolation zu arbeiten, müssen Sie etwas tun, wie
also einfacher gesagt: fügen Sie die
!=
an den Anfang der Zeile, und fügen Sie die Zeichenfolge zwischen doppelte Anführungszeichen.Ihre Frage über die
@booking
: ich schlage vor, Sie untersuchen einige geschachtelte Formen, Beispiele, um es klarer für dich (z.B. diese und diese railscast).Die
!=
bedeutet unescape HTML, so wird es fügen Sie die ruby-string, wie es ist, ohne Flucht. Im Gegensatz zu den normalen=
die bewertet und entkommt den string, der für die sichere Einbindung in HTML. Mehr hier: haml-lang.com/docs/yardoc/...Noch einfacher...: plain-filter (nicht javascript).
Ist das führende " notwendig?
InformationsquelleAutor nathanvda
habe ich es tatsächlich geschafft, dies zu tun, indem Sie hinzufügen:
also selbst wenn die Anfrage wurde in js, wird es wieder eine html-teilweise. Nette
Ich versuche zu verstehen, was Sie hier Tat, auch daran interessiert, einige HTML-rendering-basierend auf dem, was in ein javascript-bedingten. Wo kommt "new_passenger" existieren? Und Ihre Antwort; wo hast du diesen code platzieren?
new_passenger existiert in der gleichen view-Ordner des Controllers, also in meinem Fall, bookingscontroller nannte diese so war es in der app/views/Buchungen
InformationsquelleAutor corroded
Rails-syntax-änderungen die ganze Zeit, aber sollte dies nicht
werden
Können Sie entkommen javascript im javascript-block, weil Sie bewerten ruby-tags.
Welche Fehlermeldungen erhalten Sie?
Den letzten Teil deiner Frage ist nicht klar, für mich aber ist es das, was du suchst:
InformationsquelleAutor mark