2012-12-20 50 views
0

好吧,所以我試圖從另一個頁面使用JQUERY LOAD方法加載內容所以內容可以在沒有頁面刷新的情況下出現... I做到了這一點,但當我點擊鏈接時,它仍然將我重定向到另一個頁面,而不是將內容加載到div中。jquery不會將內容加載到DIV區域..我在哪裏出錯

下面是我的代碼..

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
<title> MadScore, A Social Scoring Platform </title> 
<link rel="stylesheet" type="text/css" href="css/madscore.css"> 
<link rel="stylesheet" type="text/css" href="css/skins/tango/skin.css" /> 
<script type="text/javascript" src="javascript/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="javascript/jquery-1.8.3.min.js"></script> 
<script type="text/javascript" src="javascript/jquery.jcarousel.min.js"></script> 
<script type="text/javascript"> 
jQuery(document).ready(function() { 
    jQuery('#mycarousel').jcarousel({ 
     scroll: 1, buttonNextHTML:"<div></div>", buttonPrevHTML:"<div></div>" 
    }); 
}); 
</script> 


//Here is where I made the Jquery call for the div below with class "panel" but it won't load .. 

<scrip type="text/javascript"> 
$(document).ready(function(){ 
    $("profile").click(function(){ 
    $(".panel").load("this.href"); 
    }); 
}); 
</script> 
</head> 

<body> 
<div class="sliding-panel"> 
<div class="container"> 
<ul id="mycarousel" class="jcarousel-skin-tango"> 
<li> 

<li> 
<div class="panel"> //panel supposed to be triggered by Jquery 
<h1> People </h1> 
<?php 
database_connect(); 
$query = "select * from People"; 
$result = $connection->query($query); 
$row_count =$result->num_rows; 

for($i = 1; $i <= $row_count; $i++) 
    { 
    $row = $result->fetch_assoc(); 
    echo "<a href='/profile.php?id=".$row['ID']."' id='profile'><img src ='../".$row['Picture']."' width='100' height='100' /> </a>"; 

    } 


?> 
</div> 
</li> 
</ul> 
+0

標籤應該是'<腳本類型=「文/ JavaScript的>' –

+0

你爲什麼有兩個不同版本的jQuery?我敢肯定,他們不會擴大對方... –

回答

1

你缺少#而結合的Click事件

$(document).ready(function(){ 
    $("#profile").click(function(){ // add # here 
    $(".panel").load("this.href"); 
    }); 
}); 

還可以使用.on來綁定事件動態添加的元素。

+0

究竟是怎麼回事?我不知道我明白你的意思..我添加了#的個人資料,但它仍然沒有加載在div中??? – user1787184

+0

@ user1787184:首先檢查點擊事件是否被觸發通過添加警報 – xyz

0

首先,您的選擇器丟失#。此外,你只是傳遞一個字符串到負載的方法:"this.href",你需要通過實際的鏈接:$this.attr('href')

關於該鏈接的問題,您需要防止默認操作(這是點擊在a)。對於你有兩個選擇:

<script type="text/javascript"> 
    $(function(){ 
    alert('on ready works!'); 
     $("#profile").click(function(event){ 
     $(".panel").load($this.attr('href'), function(){ 
      alert('ajax called finished'); 
     });    
     return false; // or event.preventDefault(); 
     }); 
    }); 
    </script> 
+0

所以我應該使用返回false?並添加#號?我不知道我明白取消點擊事件 – user1787184

+0

它仍然不工作 – user1787184

+0

@ user1787184你需要#號,就像我把它放在上面的代碼,所以你可以相應選擇元素a。現在,當您點擊鏈接後,您將被重定向,因此您需要取消默認操作(這是鏈接點擊,因此您未被重定向)。我已經更新了我的答案,所以顯示一個替代方法 – Ulises

相關問題