Tôi đang cố gắng xây dựng thanh điều hướng bên nơi danh mục được liệt kê và khi nhấp vào danh mục, danh sách phụ tương ứng của các danh mục con được hiển thị ngay bên dưới danh mục. Và nếu danh mục được nhấp một lần nữa, danh sách các hợp đồng phụ.điều gì có thể khiến html và tập lệnh hoạt động khác nhau qua các lần lặp của vòng lặp for?
Vì vậy, tôi đang chạy vòng lặp trên các đối tượng danh mục. Bên trong vòng lặp bên ngoài này, tôi bao gồm một vòng lặp bên trong để liệt kê các danh mục phụ và một tập lệnh ẩn trình đơn phụ và chỉ trượt nó khi một danh mục được nhấp. Tôi đang sử dụng thẻ mẫu django để tự động gán tên lớp cho các phần tử html của tôi và cũng có thể tham chiếu đến chúng trong tập lệnh. Vì vậy, sau khi tất cả cho lặp vòng lặp, có một danh sách các tiểu thể loại và một kịch bản dành riêng cho mỗi thể loại và họ có tên lớp duy nhất để không có cơ hội của một chồng chéo. Vì vậy, phần lạ là, điều này hoạt động hoàn hảo cho hầu hết các loại, nhưng một số các loại và menu phụ của họ vẫn mở và khi nhấp vào thể loại trang tải lại.
Tôi không hiểu, điều gì có thể gây ra cùng mã chính xác (chạy trong vòng lặp for) để hoạt động khác đi?
Đây là mã của tôi:
{% load staticfiles %}
{% load i18n pybb_tags forumindexlistbycat %}
{% catindexlist as catindexlisted %}
{% block body %}<div class="col-sm-12 col-md-12 col-xs-12 col-lg-12 body-container leftsidenavigator" style="margin-top:15px;">
<div class="col-sm-12 col-md-12 col-xs-12 col-lg-12 leftsidenavigator-inner" style="padding:0px;">
<h2><center>Categories</center></h2>
<ul class="catindexlist catlistcat nav-collapse89">
{% for category in catindexlisted %}
<li class="catindexlistitem category-name{{category.name}}{{category.name}}" style="font-weight:600;padding-right:20px;"><a href="">{{category.name}}</a></li>
<ul style="padding:0px;" class="nav-collapse88">
{% for forum in category|forumindexlistbycat %}
<li class="catlistforum{{category.name}}{{category.name}} forum-name" style="padding-right:10px;"><a href="{{ forum.get_absolute_url }}">{{forum.name}}</a></li>
{% endfor %}</ul><script>
$(function() {
$(".catlistforum{{category.name}}{{category.name}}").hide();
$(".category-name{{category.name}}{{category.name}} a").click(function(e) {
e.preventDefault();
$(".catlistforum{{category.name}}{{category.name}}").slideToggle();
if(!($(this).parent('li').siblings('div').children('ul').children('div').is(":visible"))){
$(this).parent('li').siblings('div').children('ul').children('div').is(":visible").slideToggle();
}});
})
</script>
{% endfor %}
</ul>
</div>
</div>
{% endblock %}
{% block theme_script %}<script src="{% static "pinax/js/theme.js" %}"></script>{% endblock %}
Bất kỳ cơ hội nào bạn có thể cung cấp mẫu mã tối thiểu? – TomLingham
Vui lòng cung cấp Mã HTML của bạn –
Bất kỳ mẫu nào trong tên của danh mục không hoạt động? có lẽ không gian, không phải ký tự tiếng anh? Lưu ý rằng bạn cần phải chắc chắn đó là chuỗi hợp lệ được sử dụng tại đây, ví dụ: '$ (". catlistforum {{category.name}} {{category.name}} ").' Tôi nghĩ bạn nên sử dụng PK thay vì tên. – trinchet