在php中使用Jquery accordian,但是调用动态php脚本onclick

时间:2017-04-04 03:35:19

标签: php jquery

这是我目前的代码,

<div class="panel">
    <?php
    if(isset($Uniid)) {
        if (isset($from)) {
            $url='Inevent.php';
            include("display$category.php");
        }
    }
    ?>
</div>          


<script>
document.addEventListener("DOMContentLoaded", function(event) {
    var acc = document.getElementsByClassName("accordion");
    var panel = document.getElementsByClassName('panel');
    for (var i = 0; i < acc.length; i++) {
        acc[i].onclick = function() {
            var setClasses = !this.classList.contains('active');
            setClass(acc, 'active', 'remove');
            setClass(panel, 'show', 'remove');

            if (setClasses) {
                this.classList.toggle("active");
                this.nextElementSibling.classList.toggle("show");
            }
        }
    }
    function setClass(els, className, fnName) {
        for (var i = 0; i < els.length; i++) {
            els[i].classList[fnName](className);
        }
    }
});
</script>

目前显示的是主要的手风琴,但是当我点击手风琴时,当我想要执行面板时,我该怎么做呢。

2 个答案:

答案 0 :(得分:0)

您可以在单独的文件中输出您的PHP代码,然后使用AJAX调用它。

如果您将php文件命名为“loadPanel.php”,那么AJAX请求将如下所示:

$.ajax({
  url: "loadPanel.php"
}).done(function(response) {
  $( '.panel' ).html( response );
});

然后在你的panel div中添加你想要的任何php代码到loadPanel.php文件。

ajax的文档位于jQuery网站上:http://api.jquery.com/jquery.ajax/

答案 1 :(得分:0)

有一个解决方案不为人所知,但非常强大,包括使用jQuery更新页面的一部分(使用最新版本的jQuery)。因此,要做到这一点,您甚至不必创建另一个页面,因此您只需使用jQuery load()函数。 此方法是从服务器获取数据的最简单方法。它大致相当于$.get(url, data, success),除了它是一个方法而不是全局函数,它有一个隐式回调函数。当检测到成功的响应时(即当textStatus是“成功”或“未修改”时),.load()将匹配元素的HTML内容设置为返回的数据。这意味着您可以像这样使用此方法:

$( ".panel" ).load( window.location.href );