2013-08-31 2 views
0

В моем приложении rails я пытаюсь включить эффект фокуса jquery для кнопки поиска. Когда мышь над этой кнопкой, она должна изменить цвет. Но код jquery не работает, хотя я попытался использовать search.js, search.js.erb. В файле gems я также включил jquery rails в Gem-файл, а также попытался установить пакет.включить jquery in 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> 

Я также попытался удалив «сценарий Src» тег даже тогда его не working.Anybody пожалуйста, помогите ..

ответ

0

вы сделали небольшую ошибку, но не беспокойтесь. Делайте, как я предлагаю ниже.
1) Дайте идентификатор для text_field_tag, как <% = text_field_tag ​​(: show, '' ,: id => 'show_fld')%>
2) Возьмите этот идентификатор и сохраните его как DOM в функции jQuery. Как

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

Теперь вышесказанное будет работать.

+0

хау должен ли мой файл быть назван, если он будет называться search.js.erb? – user2492854

+0

'$ ('# element_id')' как вы выбираете элементы в jQuery. Ваш код jquery неверен, а не имя файла – ragnika

+0

попробовал также его неработать. Я получаю сообщение об ошибке «Отсутствует шаблон твитов/поиск, приложение/поиск с помощью {: locale => [: en],: formats => [: html],: handlers => [: erb,: builder,: coffee]}. Поиск: * "/ home/niranjan/tweetsblog7/app/views". Должен ли я изменить какой-либо другой файл или включить другой файл? – user2492854

0

Если вы используете рельсы 3, вы можете использовать звездочки, чтобы включить все, что вам нужно.

  • Добавить gem 'query-rails' в группу активов вашего Gemfile
  • добавить как //= require jquery и //= require jquery_ujs вашим application.js файл
  • Убедитесь, что файл, application.html.erb все еще включает в себя <%= javascript_include_tag "application" %>