@lite_version

Как использовать один js для разных id на странице?

Есть html форма в которой через цикл выводятся данные, как пример:
{% for el in form%}
     <div id="title{{ el.pk }}" >{{ el.titles }}</div>
     <div id="content{{ el.pk }} " style="display:none;">{{ el.text }}</div>
{% endfor %}

Js для показа и скрытия контента для одной формы написал:
$('#title').click(function () {
        if ($('#content').is(":hidden")) {
            $('#content').slideDown("slow");
        } else {
            $('#content').slideUp("slow");
        }
        return false;
    });

Но не понимаю, как передать pk в функцию, чтобы можно было использовать этот js при множественном выводе. Вроде как лучше прописать классы и их передавать каким-то образом в js, но при попытках какая-то нерабочая ерунда выходит.
  • Вопрос задан
  • 215 просмотров
Решения вопроса 1
irishmann
@irishmann
Научись пользоваться дебаггером
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
RussianNinja
@RussianNinja
Всем динамически создаваемым элементам прописать класс и вешать обработчик события на класс, а не на id.

$(document).on('click', '.title', function () {
      // использовать $(this) для выбора элемента, по которому кликнули
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы