2013-08-31 3 views
0

Dans mon application rails, j'essaie d'inclure l'effet de mise au point jquery pour un bouton de recherche. Lorsque la souris est sur ce bouton, il devrait changer la couleur. Mais le code jquery ne fonctionne pas, bien que j'ai essayé d'utiliser search.js, search.js.erb.Dans le fichier gems j'ai également inclus jquery rails dans le fichier Gem et également essayé l'installation de bundle.include jquery dans rails 3

<!DOCTYPE html> 
<html> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"> 
    </script> 
    <script> 
     $(document).ready(function(){ 
     $("text_field_tag").focus(function(){ 
     $(this).css("background-color","#cccccc"); 
     }); 
     $("text_field_tag").blur(function(){ 
     $(this).css("background-color", "#ffffff"); 
     }); 
     }); 
    </script> 
    <body> 
     <%=form_tag({controller: 'tweets', action:'index'}, method: "get") do %> 
     <%=label_tag(:search, "Search for:") %> 
     <%=text_field_tag(:text) %> 
     <%=label_tag(:show, "Show for:") %> 
     <%=text_field_tag(:show) %> 
     <%= submit_tag("GO") %> 
     <% end %> 
    </body> 

</html> 

J'ai aussi essayé en supprimant la balise « script src », même alors, ce ne est pas working.Anybody s'il vous plaît aider ..

Répondre

0

vous avez fait une petite erreur, mais ne vous inquiétez pas. Fais comme je le suggère ci-dessous.
1) Donnez l'ID pour text_field_tag ​​comme <% = text_field_tag ​​(: show, '' ,: id => 'show_fld')%>
2) Prenez cet identifiant et conservez-le comme DOM dans la fonction jQuery. Comme

<script> 
    $(document).ready(function(){ 
    $("#show_fld").focus(function(){ 
     $(this).css("background-color","#cccccc"); 
    }); 
    $("#show_fld").blur(function(){ 
     $(this).css("background-color", "#ffffff"); 
    }); 
    }); 
</script> 

Maintenant ce qui précède fonctionnera.

+0

comment Est-ce que mon fichier devrait être nommé s'il doit être nommé search.js.erb? – user2492854

+0

'$ ('# element_id')' est la façon dont vous sélectionnez les éléments dans jQuery. Votre code jquery est faux, pas le nom de fichier – ragnika

+0

essayé que aussi son ne fonctionne pas ..Je reçois l'erreur "Modèle manquant tweets/recherche, application/recherche avec {: locale => [: en],: formats => [: html],: handlers => [: erb,: builder,: coffee]}. Recherché dans: * "/ home/niranjan/tweetsblog7/app/views". Dois-je modifier un autre fichier ou inclure un autre fichier? – user2492854

0

Si vous utilisez les rails 3, vous pouvez utiliser des pignons pour inclure tout ce dont vous avez besoin.

  • Ajouter gem 'query-rails' au groupe d'actifs de votre Gemfile
  • ajouter à la fois //= require jquery et //= require jquery_ujs à votre fichier application.js
  • Assurez-vous que votre fichier application.html.erb comprend encore <%= javascript_include_tag "application" %>