用ajax和jqueryreplacediv内容

我尝试下面的代码来取代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。 我有尝试解决scheme,但没有得到成功。

你的代码有一个定义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); } }); }); }); 

删除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); } }); }); }); 

你有绑定到该函数称为MakeRequest onclick事件,然后在该函数中,你再次绑定到一个点击事件。

你最好采取这种方法:

 $(function(){ $("#page_num li").click(function() { $.ajax({ url : 'display.php', data:{id: $(this).attr('id')}, type: 'GET', success: function(data){ $('#ResponseDiv').html(data); } } }); 

并摆脱内联onclick事件。

将onclick事件移动到标签,以便:

<a href="#" onclick='MakeRequest();>