Щелкните событие с помощью jquery в Rails

#jquery #ruby-on-rails #click

#jquery #ruby-on-rails #нажмите

Вопрос:

У меня есть частичное отображение на главной странице:

     <div id='calendar_links'>
      <%= link_to day_of_week, root_path(:day => day), :class => 'active_calendar_link' %>
    </div>
  

Я хочу сделать это — после нажатия на эту ссылку эта ссылка перенаправляется на главную страницу с параметром day, и я хочу, чтобы после нажатия на этот день не было:class => ‘active_calendar_link’.

Я пишу этот код jquery в application.js файл, но это не сработало, почему? :

 $(document).onDomReady(function(){
 $('#calendar_links').click(function()
  $(this).removeClass('active_calendar_link')
 }); }); })
  

Как исправить на?

Комментарии:

1. потому что в вашем коде this ссылается на div, а не на тег привязки

2. вы имели в виду $ (document). готово() ..?

3. Хммм, в вашей логике что-то не так или я что-то упускаю. Если вы перенаправляете на другую страницу, вам нужно применить JS к новой странице, а не к старой…

4. У меня есть индексная страница и частичная страница для этой страницы, и эта ссылка_тобы перейти на эту индексную страницу, но с новым параметром — localhost: 3000 /?day =#day_number Как я могу написать правильный код jquery и исправить мою частичную страницу? пожалуйста, помогите мне

Ответ №1:

В вашем коде вы проверяете click событие на div , а не на теге привязки.

Затем this ссылается на неправильный объект.

Более того, кажется, что вы действительно перенаправляете на другую страницу, поскольку я не вижу никаких preventDefault() действий. Очевидно, что это не может сработать.

Комментарии:

1. У меня есть индексная страница и частичная страница для этой страницы, и эта ссылка_тобы перейти на эту индексную страницу, но с новым параметром — localhost: 3000 /?day =#day_number Как я могу написать правильный код jquery и исправить мою частичную страницу? пожалуйста, помогите мне

2. jQuery — это взаимодействие на одной и той же странице или с элементами Ajax. Здесь вы хотите создать ссылку на другую страницу с параметром, который является только кодом ruby / rails.

Ответ №2:

 $(function(){
  $(".active_calendar_link").click(function(){
    $(this).removeClass("active_calendar_link");
    return true;
  })
})