Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法单击使用ajax-$(文档)的另一页回显的项目。上的不起作用_Php_Jquery - Fatal编程技术网

Php 无法单击使用ajax-$(文档)的另一页回显的项目。上的不起作用

Php 无法单击使用ajax-$(文档)的另一页回显的项目。上的不起作用,php,jquery,Php,Jquery,更新 我有两页。连接到js文件的索引页。这个js文件包含从数据库获取数据的ajax代码。 这是我的js文件 $(document).ready(function() { // getting links from db andshow sub_menu div // $(".menu_item").mouseover(function(){ $(this).addClass("selected").children().slideDown(500,functio

更新

我有两页。连接到js文件的索引页。这个js文件包含从数据库获取数据的ajax代码。 这是我的js文件

$(document).ready(function() {

    // getting links from db andshow sub_menu div //
    $(".menu_item").mouseover(function(){
        $(this).addClass("selected").children().slideDown(500,function(){
            var id = $(".selected").attr("id");
            var ajax= false;
            ajax = new XMLHttpRequest();
            var qst = "?id="+id;
            ajax.open("GET","ajax/get_sub_cats.php"+qst);
            ajax.onreadystatechange = function(){
                if(ajax.readyState == 4 && ajax.status == 200){
                    $(".sub_menu[title="+id+"]").html(ajax.responseText);
                }
            }
            ajax.send(null);
        });
    });

    // hiding sub_menu div //
    $(".menu_item").mouseout(function(){
        $(this).removeClass("selected").children(".sub_menu").slideUp(500);
    });

    // keeping sub_menu div visible on mouse over //
    $(".sub_menu").mouseover(function() {
        $(this).stop();
    });

    // clicking sub menu link in the menu //
    $(document).delegate("a#subCatLink","click",function(){
    alert("test");
    }); 
    // document ready end
    });
这是get_sub_cats php文件,用于从db获取链接

<?php
require('../_req/base.php');
$id = $_REQUEST['id'];
$getSubcatsQ = "select * from sub_cats where Main_Cat_ID = '$id'";
$getSubcatsR = mysql_query($getSubcatsQ);
$numrows = mysql_num_rows($getSubcatsR);
while($row = mysql_fetch_array($getSubcatsR)){
    ?>
   <a id="subCatLink" href="products.php?id=<?php echo $row['Sub_Cat_ID']; ?>"><?php echo $row['Sub_Cat_Name']; ?></a><br />
    <?php
}
mysql_close($connect);
?>
使用ajax单击来自另一个php文件的链接根本不起作用

$(document).delegate("click","a",function(){ 
    var target = $(this).attr("href"); 
    alert(target); 
});
作为测试,这应该显示页面上每个链接的href。如果这样做有效,请将所有要显示的链接放在一个div中,然后用

$('#divID').delegate("click","a",function(){
    var target = $(this).attr("href"); 
    alert(target); 
})

对不起,也许这会有帮助,也许不会。但是

你为什么不使用这样的东西:

jQuery

$(".menu_item").mouseover(function(){   
    var id = $(".selected").attr("id");
    var qst = "?id="+id;
    var html = '';
    $.getJSON('ajax/get_sub_cats.php'+qst, function(data){
        var len = data.length;
        for (var i = 0; i< len; i++) {
            html += '<a id="subCatLink'+data[i].Sub_Cat_ID+'" href="products.php?id='+data[i].Sub_Cat_ID+'">'+data[i].Sub_Cat_Name+'</a>';
        }
        $(".sub_menu[id="+id+"]").html(html);
    });
});

什么意思被停职了?它只有1.7+版本,所以你可能是对的,Yasser无法使用它。。。但是suspended让它听起来像是被删除了。哈哈,你说得很对,我完全错过了api.jQuery.com上的内容。这是漫长的一天:-/jQuery 1.7.1,但仍然无法使用。委派,我猜它应该是这样的$document。委派AsubCatLink,单击,函数{正如我在jquery网站上发现的,但是仍然不起作用。你正在创建大量具有相同ID的链接。ID需要是唯一的。现在子菜单ID更改为标题,并且具有与菜单项ID相同的值,不再具有双ID。但是在子菜单中单击链接时,什么都没有发生。我看不到Ajax。图片也不清楚;因此UND就像你在用JS来做Ajax来做一个包含;为什么不在HTML呈现部分从端到端使用PHP呢?最后,看起来你在尝试使用ID子链接作为一个类,尽管从这个简短的代码示例很难说。如果有多个锚点有子链接,那么你就做错了,因为只有一个i每页显示一个ID。我认为您的问题描述中缺少了一些内容:您的小提琴没有像它应该包含的那样包含上面的click event manager。@Greg Pettit说的+1。我的意思是JSFIDLE代码显示了。停止以保持sub_菜单可见,这样您就可以判断问题是否出您已经在使用jQuery…您应该使用$.ajax方法!ajax抽象和事件绑定是使用jQuery而不是动画的两个最好的理由;那么为什么要忽略API的这一部分呢?PS:我在您的“标记ID”上加了一个ID,因为您不应该因为dom不喜欢有两个或更多具有相同ID的元素
require('../_req/base.php');
$return = array();

$id = $_REQUEST['id'];
$sql = "select * from sub_cats where Main_Cat_ID = '$id'";
$result = mysql_query($sql);

while($ln = mysql_fetch_array($result)){
    $return[] = $ln;
}

echo json_encode($return);