PHP / AJAX检查是否单击了div并返回数据

时间:2013-10-28 18:28:07

标签: php ajax html menu categories

如何检查div是否被点击然后返回信息?

function kat(){
echo "<div class='turinys'>";
$kategorijos = dbquery("SELECT * FROM kategorijos");
while($kat = dbarray($kategorijos)) {
    echo"<div class='kategorija'><a href='".BASEDIR."kategorija/".seoname($kat['kategorija'])."/".$kat['id']."' class='kat'>".trimlink($kat['kategorija'],44)."</a></div>";
}
echo "</div>";
}


echo "<div class='mygtukas-js' onclick='kat();'>";
echo "</div>";

但实际上这是错的,因为我的mygtukas-js有一个下拉菜单。 我需要生成一个代码,让我按一个按钮然后生成菜单。也许有人知道?

编辑:此div <div class='mygtukas-js'></div>必须在之前开始和结束)<div class='turinys'> STARTS。

一些新鲜的想法? :

EDIT2:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'>
</script>
<script>
            $(document).ready(function(){
                $('#mygtukas-js').click(function() {
                  $("#turinys").load('b.php');
                });
            });
        </script>

和b.php

<?php
$kategorijos = dbquery("SELECT * FROM kategorijos");
while($kat = dbarray($kategorijos)) {
    echo"<div class='kategorija'><a href='".BASEDIR."kategorija/".seoname($kat['kategorija'])."/".$kat['id']."' class='kat'>".trimlink($kat['kategorija'],44)."</a></div>";
}
?>

但没有产生任何信息:(

3 个答案:

答案 0 :(得分:0)

你可以使用jQuery来检查是否点击了div。像这样:

$('.turinys').click(function(e) {
  $(this).html("Add any html to the div");
});

答案 1 :(得分:0)

使用不同的php文件。让我们来电话A.php和B.php。 A.php包含菜单代码。

a.php只会

<?php
echo "<div class='turinys'>";
$kategorijos = dbquery("SELECT * FROM kategorijos");
while($kat = dbarray($kategorijos)) {
    echo"<div class='kategorija'>
    <a href='".BASEDIR."kategorija/".seoname($kat['kategorija'])."/".$kat['id']."' class='kat'>".trimlink($kat['kategorija'],44)."</a>
    </div>";
}
echo "</div>";

?>

B.php

 <script>
  function kat(){
     var xhr = new XMLHttpRequest();
     xhr.open("GET", "A.php", false);
     xhr.send(null);
     // You can also check response status if you need.
     var serverResponse = xhr.responseText;
     document.getElementById('menu').innerHTML = serverResponse;
  }
 </script>
 <?php
    echo "<div class='mygtukas-js' onclick='kat();' id='menu'>";
    echo "</div>";
?>

答案 2 :(得分:0)

  1. 创建您的PHP文件,我想其中也包含HTML。

  2. 创建一个“单击”JQuery函数,并确保将POST发送到应该处理请求的特定PHP文件/ Controller。如果您想直接获取上述文件,请指向它。

  3. 应该是这样的:

    $(document).ready(function(){
    
        $('#send').click(function() {
    
         $("#menu").load('URL_TO_YOUR_PHP');
    
        });
    
    });
    

    感谢AJAX,应显示“#menu”并包含PHP文件发回的内容。

    HTH。