首先,我对 jQuery 和 JavaScript 很陌生,但对 HTML 和 PHP 不是很熟悉。
我发现很多关于这个问题的帖子,但没有解决方案。我想我做错了什么(完全?)...
我有两个文件,index.php 和 content.php,它们应该动态地向页面添加内容。
索引.php:
<!DOCTYPE html>
<html>
<head xmlns="http://www.w3.org/1999/xhtml">
<meta charset="UTF-8"></meta>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" rel="stylesheet" href="../css/jquery.mobile-1.1.1.min.css"></link>
<script type="text/javascript" src="../js/jquery-1.8.1.min.js"></script>
<script type="text/javascript" src="../js/jquery.mobile-1.1.1.min.js"></script>
<title>Ajax test</title>
<script language="JavaScript">
$(function(){
$('#page1').click(function(event) {
$('#content').load($(this).attr('href')).trigger("create");
return false;
});
});
$(function(){
$('#page2').click(function(event) {
$('#content').load($(this).attr('href')).trigger("create");
return false;
});
});
</script>
</head>
<body>
<div id="hm-agenda" data-theme="a" data-role="page">
<div data-theme="a" data-role="header">
<h1>Ajax test</h1>
</div>
<div id="content" data-role="content">
Default content
</div>
<div data-theme="a" data-role="footer" data-position="fixed" class="nav-glyphish-example">
<div data-role="navbar" class="nav-glyphish-example" data-grid="d" class="navdiv">
<ul>
<li><a href="content.php?page=1" id="page1">Page 1</a></li>
<li><a href="content.php?page=2" id="page2">Page 2</a></li>
<li><a href="content.php?page=3" id="page3">Page 3</a></li>
<li><a href="content.php?page=4" id="page4">Page 4</a></li>
<li><a href="content.php?page=5" id="page5">Page 5</a></li>
</ul>
</div>
</div>
</body>
</html>
因此,在导航中单击“Page 1”或“Page 2”应该会将 content.php?page=x 加载到 id 为“content”的 div 中。
这就是 content.php 的样子:
<ul data-role="listview" class="hm-list">
<li data-role="list-divider"><h3>You are on page: <?php print $_GET['page']; ?></h3></li>
</ul>
将文件加载到 content-div 中可以正常工作,因为 jQuery 不会应用样式。奇怪的是,单击导航中的链接后,样式会被应用大约一秒钟,然后立即消失。
这个例子在网上: http: //m.sepulturagenda.ch/ajax/
任何帮助表示赞赏。我现在在这里存了几个小时...