這個問題讓我瘋狂......我通過Ajax調用一個PHP文件並將其解析爲我的HTML內容。我必須這樣做才能擁有動態內容,而不必刷新頁面。JQuery不支持解析的內容
我的問題是,解析的代碼將不會執行任何jQuery的東西。例如在PHP文件中需要一個Jquery滑塊。但它被解析爲普通的HTML,JQuery似乎並不認識它。
這裏有一個例子:
HTML文件:
<html>
<head>
<script src="jquery-1.7.1" type="text/javascript"></script>
<script src="jscroller-0.4.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function()
{
// Add Scroller Object
$jScroller.add("#scroller_container","#scroller","right",1);
// Start Autoscroller
$jScroller.start();
});
</script>
<script type="text/javascript">
function showGet(str)
{
if (str=="")
{
document.getElementById("center").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("content").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","content.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="content">
<input type="button" onclick="showGet(1)" value="showGet">
</div>
<div id="scroller_container">
<div id="scroller">
...[Content]...
</div>
</div>
</body>
</html>
這裏的content.PHP文件:
<?php
echo "
<div id=\"scroller_container\">
<div id=\"scroller\">
...[Content]...
</div>
</div>
"
?>
執行時,HTML有一個按鈕。如果您點擊該按鈕,它會將content.php解析爲<div id="content></div>
。 PHP包含與HTML相同的<div id="scroller" ....
。
HTML div的工作原理,不是PHP文件。爲什麼????我如何才能使它工作?
許多thx提前的所有提示!
你爲什麼不使用jQuery的Ajax功能?他們實現起來要容易得多,另外他們還從內置的Ajax結果中執行腳本。 – 2012-03-13 21:31:54
我想但我想我錯過了所需的知識。你有一個簡單的例子嗎? – 2012-03-13 21:33:05
該手冊有一些例子:http://api.jquery.com/jQuery.ajax/ – 2012-03-13 21:34:00