我尝试使用代码来替换div内容,但是我的工作不正常?
function MakeRequest()
{
$("#page_num li").click(function() {
var id=(this.id);
alert(id);
$.ajax({
url : 'display.php',
data:{"id":id},
type: 'GET',
success: function(data){
$('#ResponseDiv').html(data);
}
});
});
}
//列表获取值
<ul id="page_num">
<li id="5" onclick='MakeRequest();' ><a href="#">5</a></li>
<li id="10" onclick='MakeRequest();' ><a href="#">10</a></li>
<li id="15" onclick='MakeRequest();' ><a href="#">15</a></li>
</ul>
// div替换
<div id='ResponseDiv'>
This is a div to hold the response.
</div>
//我的display.php
<?php
echo "This is a php response to your request!!!!!!";
?>
编辑: 我如何检查它的运行与否。我的display.php。 我尝试过解决方案,但没有成功。
答案 0 :(得分:8)
您的代码具有定义onclick操作的功能,并且不会自行调用。我打赌,如果你双击链接它会起作用,但你应该这样做:
function MakeRequest(id)
{
$.ajax({
url : 'display.php',
data:{"id":id},
type: 'GET',
success: function(data){
$('#ResponseDiv').html(data);
}
});
}
最后,将调用更改为:
onclick='MakeRequest(5);'
或者只是这样做,它将li元素绑定到click函数,并且不需要“onclick”:
$(document).ready(function()
{
$("#page_num li").click(function() {
var id=$(this).attr(id);
$.ajax({
url : 'display.php',
data:{"id":id},
success: function(data){
$('#ResponseDiv').html(data);
}
});
});
});
答案 1 :(得分:2)
删除MakeRequest()
函数只需尝试使用$("#page_num li").click
,否则会调用函数两次
$(document).ready(function(){
$("#page_num li").click(function() {
var id=(this.id);
$.ajax({
url : 'display.php',
data:{"id":id},
type: 'GET',
success: function(data){
$('#ResponseDiv').html(data);
}
});
});
});
答案 2 :(得分:0)
您已将绑定到该函数的onclick事件绑定到MakeRequest
,然后在该函数中再次将li
绑定到click事件。
你最好采用这种方法:
$(function(){
$("#page_num li").click(function() {
$.ajax({
url : 'display.php',
data:{id: $(this).attr('id')},
type: 'GET',
success: function(data){
$('#ResponseDiv').html(data);
}
}
});
并摆脱内联onclick
事件。
答案 3 :(得分:-1)
将onclick事件移动到标记,以便:
<a href="#" onclick='MakeRequest();>