У меня есть частичное внутри частичного, которое имеет radio button
s или check box
es. То, что я хочу сделать, это получить переключатель или флажки, которые нажимаются. Теперь изначально, когда страница загружена, я могу получить кнопки, но когда я go до следующей части, я не могу получить новые кнопки. Как я могу получить кнопки нового частичного каждый раз, когда какая-то кнопка нажимается в отдельном js. Если я использую функцию onclick
, встроенную в radio button
или checkbox
, то функция вызывается правильно, но я хочу получить отображаемые элементы в отдельном файле js.
Я пытался использовать window.addEventListener('change')
. Если я использую это, то функция не вызывается при первом щелчке, но при последующих щелчках она вызывается столько раз, то есть при втором щелчке функция вызывается один раз, при третьем щелчке функция вызывается дважды и т. Д.
// window.addEventListener('change', () => {
window.addEventListener('DOMContentLoaded', () => {
if (document.querySelectorAll('[name="question[answer_id]"]').length !== 0) {
document.querySelectorAll('[name="question[answer_id]"]').forEach((questionAnswerButton) => {
questionAnswerButton.addEventListener('click', (event) => {
console.log(event);
fetchCall(event.target.value);
});
});
}
});
radio_button_partial. html .erb
<%= radio_button_tag 'question[answer_id]',
answer.id,
(user_answer == answer.id),
{
class: 'answer_opt',
// onclick: fetchCall("<%= answer.id %>")
} %>
Здесь, если я раскомментирую функцию onclick, я получу желаемую функциональность. Но что я должен изменить, чтобы получить отображаемые переключатели из отдельного файла js?