Я работаю над системой оценки звезд ajax.
Для звезд я использовал ярлык радиокнопок.
Когда страница загружается, если элемент имеет оценку (то есть 3), он будет проверять переключатель 3 и все метки, прежде чем он будет окрашен (наведение мыши также изменяет изображение).
Этот код запускается, когда $ (document) .ready и находится в /public/javascript/rating_ballot_index.js
Моя проблема в том, что, поскольку рейтинг находится на странице индекса (так что несколько форм) после отправки формы (нажав на ярлык), мне нужно перезагрузить форму. Я делаю это из файла 'create.js.erb' (после нажатия на элемент добавляется класс 'clicky', чтобы узнать, какую форму удалить).
('.clicky').closest("tr").replaceWith("<%= escape_javascript(render :partial => @product, :locals => {:product_class => "clear_rating"}) %>");
После вставки нового частичного кода код из rating_ballot_index.js не отвечает на этот новый добавленный частичный (поскольку документ уже был загружен).
Если я попытаюсь запустить функцию снова, в следующий раз, когда я отправлю рейтинг, он отправит его дважды.
Есть ли способ, которым я могу остановить запуск функции в первый раз, затем перезапустить ее или заставить исходную функцию распознавать недавно добавленную частичку?
Надеюсь, то, что я написал, имеет смысл!
Заранее спасибо