Question

J'ai une entrée de sélection sur ma page. Affiche entrée de sélection / masquer les champs du formulaire. Cela fonctionne tout va bien. Mais le problème est que si je soumets la forme et manque certains champs nécessaires, il ne marche pas régler la sélection à la juste valeur par la suite. Je ne peux pas obtenir tout le rubis intégré au travail! il garde échapper à tout ça ... ici mon 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();
    }       
  });

});

pourquoi ce travail ne marche pas ??? Je ne reçois aucune erreur ou quoi que ce soit il configure la valeur « <% = @ profile.sex => » Je googler et de la recherche au sujet de débordement de pile et Railscasts, l'API rails, tout. Im sérieusement confus ...

Merci pour votre aide.

Était-ce utile?

La solution

Essayez de supprimer les coches autour '<%= @profile.sex %>'.

Si vous avez besoin des coches autour de votre valeur, essayez ' + <%= @profile.sex %> + '

Autres conseils

Votre script JS n'exécute pas de code Ruby embarqué. Voici une description comment résoudre ceci:

http://bitprison.net/rails3_dynamic_javascript

Vous pouvez jeter un oeil à jsvars . Je l'utilise dans l'un de mes projets et il est assez grand. Vous pouvez définir vos variables javascript droit dans le contrôleur en attribuant à un hachage:

jsvars[:profile_sex] = @profile.sex

alors vous pouvez faire $ ( "# profile_sex") val (profile_sex). dans votre script. Il pourrait résoudre votre problème et les choses rendre plus jolis en même temps.

Juste une pensée!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top