странно работает ajax

114
31 декабря 2021, 09:10

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

скрипт который подгружает данные из файла

$(function(){
$(".get_url").click(function(e){
    e.preventDefault();
    var getvalue = $(this).attr('href');
    var arguments = getvalue.split('?')[1].split('=');
    arguments.shift();  
    var href = $(this).attr("href");
     getContent(arguments,href, true);
});
});
window.addEventListener("popstate", function(e) {       
    getContent(location.search, false);
});

function getContent(arg,url, addEntry) {
 $.ajax({
        type: "GET",
        url: 'menu.php?category=' + arg,
        success: function(html){    
         $(".content").html(html);   
          if(addEntry == true) {
            // Добавляем запись в историю, используя pushState
            history.pushState(null, null, url); 
        }
        }
   });
}

// меню вывода дочерних категорий

<?php include 'catalog.php'; ?>
            <?php foreach($get_catById as $cats_ById): ?>
        <a class="get_url"  href="<?=PATH?>?category=<?=$cats_ById['id']?>"><?=$cats_ById['title']?></a><br>
                <?php endforeach; ?>
Answer 1

Вангую что ваша проблема в этой строчке кода $(".get_url").click(....

Поскольку вы подгружаете данные аяксом то событие не вешается на элемент с классом .get_url

Попробуйте сделать следующее $(document).on('click', '.get_url', function(){...})

Подробнее:

Документация метода jquery.on()

Разница между click() vs on()

READ ALSO
Как отрендерить контент при клике?

Как отрендерить контент при клике?

Я вывожу массив с помощью mapПри двойном клике на элемент, я хочу, чтобы он добавился в массив и отренденился снизу списка

134
JavaScript. Проверка правильных ответов в тесте

JavaScript. Проверка правильных ответов в тесте

В общем идея такая, имеются имеются radiobutton'ы нужно нажать выбрать ответы во всех вопросах, по нажатию на кнопку должно проверяться правильные...

270
Каким образом можно добавить объекты классов из пакета javafx.geometry?

Каким образом можно добавить объекты классов из пакета javafx.geometry?

Как их визуализировать и возможно ли это вообще? Например Point2D, он ведь не расширяет Node, следовательно его нельзя поместить ни в один из контейнеров

150