过去两天我一直在研究,一无所获。
结构:
的index.php:
<head>
<script type="text/javascript" src="JS/jquery-1.6.2.js"></script>
<script type="text/javascript" src="function.js"></script>
</head>
<body>
<div>
<div><a href="" class="testcat" id="1">Show</a></div> *-->if I click this link data loads into DIV below by function.js without reloading*
<div id="producten"></div> *-->testpage.php loads here perfect,
the code of testpage.php makes by while loop other links.
Here I want to click on a link to load next data in div id=information
without reloading the index.php so the data in the first DIV stay visible
and I dont know how to do that*
<div id="information"></div> *-->testpage2.php have to load data from sql in this DIV*
</div>
</body>
function.js:
$(document).ready(function() {
$(".testcat").click(function() {
var testid = $(this).attr("id");
var datastring = 'id='+ testid ;
$.ajax({
type: "POST",
url: "testpage.php",
data: datastring,
cache: false,
success: function(res) {
$('#producten').html("<div class='loading'><img src='IMG/loading.gif' /></div>")
.hide()
.fadeIn(2000, function() {
$('#producten').html(res);
})
}
});
return false;
});
});
testpage.php和testpage2.php是sql数据的PDO代码。
答案 0 :(得分:0)
您需要将点击处理程序与on
相关联,以便动态添加的内容仍具有相同的ajax处理程序:
添加区分一次点击所需的任何信息,即
<a href='...' data-resultdiv='production'
然后,稍微清理你的处理程序:我假设你想要ajax请求转到链接的href,并且你想立即显示“加载” (而不是等待要求完成)。
最后,要取消锚点浏览到href
引用的页面的默认行为,您可以返回false;
$(document).on("click", "a", function() {
var href = $(this).attr("href");
var successDiv = $(this).data("resultdiv");
$('#' + successDiv).html("<div class='loading'><img src='IMG/loading.gif' /></div>");
$.ajax({
type: "POST",
url: href,
data: datastring,
cache: false,
success: function(res) {
$('#' + successDiv).hide().html(res).fadeIn(2000);
}
}
return false;
});
当然,如果你只想让它运行某些锚点,你可以在你的电话上放一个选择器
$(document).on("click", "a.someClass", function() {