用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();>