更新
我遇到2頁。一個索引頁面連接到一個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
});
,這是用來獲取使用AJAX從另一個PHP文件未來分貝
<?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);
?>
點擊鏈接鏈接get_sub_cats PHP文件在所有
我沒有看到阿賈克斯。圖片也不清楚;這聽起來像你包括JS做Ajax來做一個包含;爲什麼不直接使用PHP來實現HTML渲染部分的端到端?最後,它看起來像你試圖使用ID('#subCatLink')作爲一個類,儘管從這個縮寫代碼示例很難說。如果多於一個錨點具有'#subCatLink',那麼你做錯了,因爲每個頁面只能有一個ID實例。 – 2012-02-15 15:45:34
我認爲你的問題描述中缺少一些東西:你的小提琴不包含上面的點擊事件管理器,因爲它應該。 @Greg Pettit說的+1。 – 2012-02-15 15:49:53
我的意思是jsfiddle代碼顯示.stop()以保持sub_menu可見,所以你可以知道它是否是問題 – 2012-02-15 16:00:34