如何从加载的div加载sql / session内容到div

时间:2011-12-17 15:43:51

标签: php jquery sql

过去两天我一直在研究,一无所获。

结构:

的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代码。

1 个答案:

答案 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() {