Frage

habe ich einen Auswahleingang auf meiner Seite. Wählen Sie diese Einstellung Eingabeanzeigen / Haut Felder im Formular. Das alles funktioniert gut. Aber das Problem ist, dass, wenn ich die Form und fehlen einige notwendige Felder einreichen, es danach die Auswahl auf den richtigen Wert gesetzt doesnt. Ich kann einfach nicht den eingebetteten Rubin an der Arbeit! es hält das Ganze zu entkommen ... hier mein Code:

$(document).ready(function() {
$("#profile_sex").val('<%= @profile.sex %>')
   $("#profile_sex").change(function(){



    ($(this).val() == "Frau") ? $('#form-female').show() : $('#form-female').hide();
    ($(this).val() == "Mann") ? $('#form-male').show() : $('#form-male').hide();
    if ($(this).val() == "Paar") {
        $('#form-female').show(); 
        $('#form-male').show();
    }       
  });

});

warum tun diese Arbeit ??? Ich habe nicht einen Fehler bekommen oder irgendetwas es setzt nur den Wert auf „<% = @ profile.sex =>“ Ich war googeln und auf der Suche über auf Stack-Überlauf und Railscasts, den Schienen-API, alles. Im ernsthaft verwirrt ...

Danke für Ihre Hilfe.

War es hilfreich?

Lösung

Versuchen Sie, die Strichmarkierungen um '<%= @profile.sex %>' zu entfernen.

Wenn Sie die Strichmarkierungen um den Wert benötigen, versuchen ' + <%= @profile.sex %> + '

Andere Tipps

Ihr JS-Skript ausführen kann leider keine eingebetteten Ruby-Code. Hier ist eine Beschreibung, wie diese zu beheben:

http://bitprison.net/rails3_dynamic_javascript

Sie können einen Blick nehmen wollen unter jsvars . Ich benutze es in einem meiner Projekte und es ist ziemlich groß. Sie können Ihre Javascript Variablen direkt im Controller auf einen Hash durch die Zuordnung:

jsvars[:profile_sex] = @profile.sex

dann könnten Sie tun, $ ( "# profile_sex") val (profile_sex);. in Ihrem Skript. Es könnte Ihr Problem und die Dinge Prettier zur gleichen Zeit lösen.

Nur ein Gedanke!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top