#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;
})
})