Флажок категории и подкатегории с использованием javascript и CSS

У меня есть список категорий и подкатегорий (то есть под категорией), как изображение то, что я хочу, это когда клиент нажимает на флажок каждой категории, он показывает свои подкатегории

Привет, добавьте соответствующий код, чтобы другие могли видеть, что вы уже пробовали, и могли вам помочь.

Omri Attiya 12.12.2020 11:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
269
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Посмотрите на этот вопрос, который я задал, он может вам помочь (я ответил сам): Как обновить переменную foreach в Blade Laravel с помощью js

Редактировать :

Часть ответа, которая может помочь вам решить проблему, вам нужно загрузить все категории и подкатегории, а затем поиграть с JS и CSS, чтобы показать, что вы хотите:

Код блейда

@foreach($filatov as $d)
    <div class = "col-md-6 folder" id = "test{{$d['id_folder']}}" style = "display: none">
        <div class = "card mt-1">
            <div class = "card-content py-50 px-1 folder-info">
                <div class = "d-flex justify-content-between align-items-center mb-1">
                    <span><i class = "feather icon-file-text font-medium-5"></i></span>
                </div>
                <div class = "row align-items-center">
                    <div class = "col-md-10">
                        <h6 class = "font-medium-2 mb-0">{{$d['fname']}}</h6>
                    </div>
                    <div class = "col-md-2">
                        <button value = "{{$d['id_file']}}" type = "button" class = "download btn btn-sm btn-icon btn-success waves-effect waves-light"><i class = "feather icon-download"></i></button>
                    </div>
                </div>
            </div>
        </div>
    </div>
@endforeach

JS-код:

$(".getfolder").click(function(e){
   var id = $(this).val();
   var target = '.folder';
   $(target + '#test' + id).css('display', 'block');
   $(target).not('#test' + id).css('display', 'none');
}); 

Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. - Из отзыва

Omri Attiya 12.12.2020 11:23

Хорошо, я отредактирую свой ответ, чтобы предоставить правильную информацию!

therealwalim 12.12.2020 11:26

Большое спасибо @therealwalim, это было очень полезно

mohammad 12.12.2020 11:55

. благодаря @therealwalim Я нашел решение:

<!-- ####################### Blade ######################3 -->

    <div class = "content cat-content">
         <span class = "pull-left"><i class = "fa fa-chevron-down"></i></span><p>مجموعه 
      ها </p><hr>   

         @foreach($categories as $item)
         @if ($item->subcategories->count() > 0)

         <p><label><input  class = "category cat{{$item->id}}" type = "checkbox" 
         name = "category[]" value = "{{$item->id}}"  > {{$item->title}}</label></p>
          
         <div  id = "subcat{{$item->id}}"  class = "subcategory moveright"  
         style = "display: none">
              @foreach($item->subcategories as $submenu)
            <p><label><input class = "sub{{$item->id}}" type = "checkbox" name = "submenu[]" 
         value = "{{$submenu->id}}" > {{$submenu->title}}</label></p>
            @endforeach
         </div>
           
         @else
              
                <p><label><input class = "category" type = "checkbox" name = "category[]" value = "{{$item->id}}"  > {{$item->title}}</label></p>
                

         @endif
         @endforeach
        
    </div>

просто напечатайте все категории и их подкатегории

<!-- ####################### Script ######################3 -->

<script>

$(".category").click(function(e){
    var id = $(this).val();
    var target = '.subcategory';
   
    if ($('input.cat'+ id).is(':checked')) {
        $(target + '#subcat' + id).css('display', 'block');
    }else
    {
         $(target + '#subcat' + id).css('display', 'none');
         $('.sub' + id).prop('checked', false)
    }

});
</script>

Другие вопросы по теме