如何从同一div

时间:2015-12-08 09:40:48

标签: php jquery

需要帮助..

我有一个index.php页面。在该页面上,我有page-2.php的链接。

page-2.php

我还有其他页面的链接。我是否知道如何在page-2.php页面的同一div中加载index.php上的链接。

我正在使用jQuery load方法做到这一点。我可以在page-2.php的{​​{1}}内加载div。以下是我制作的代码。

index.php

上面的代码会将我引导到一个不在同一个div上的新页面

3 个答案:

答案 0 :(得分:0)

Ajax是异步的。

$('#content').load(page);

以上开始加载第二页

$('a#upd_staff').click(function(){ //link on page2.php 

然后尝试将事件处理程序绑定到第2页中的内容,然后完成加载。

因此,当您点击链接时,没有JS绑定到它,因此它充当普通链接。

使用延迟事件处理程序(以便他们侦听文档并检查点击发生时单击的元素)。

$(document).ready(function() {
    function ajaxLoad(event) {
        event.preventDefault();
        var page = $(this).attr('href');
        $('#content').load(page);       
    }
    $(document).on("click", "a#staff_info, a#upd_staff", ajaxLoad);
 });

答案 1 :(得分:0)

当您点击$('a#staff_info')时 - 我可以看到您使用e.preventDefault();来阻止锚标记的正常操作,但是当您点击$('a#upd_staff')时,您没有使用e.preventDefault(); - 这就是重定向到page2.php的原因。使用e.preventDefault(); - 这对于下一次点击可能会对您有所帮助

答案 2 :(得分:-1)

您可以使用get()直接在div上添加:

$(document).ready(function() {
 $('a#staff_info').click(function(e){ //link to page-2.php
  e.preventDefault();
  var page = $(this).attr('href');
  $.get(page, function(data, status){
    //action on page loaded, data is your page result
     $('#content').html(data)
  });
  $('a#upd_staff').click(function(){ //link on page2.php 
     var page_info = $('a#upd_staff').attr('href');
     $('#content').load(page_info);
  });   
 }); 
});