.post完成后jQuery刷新div

时间:2012-12-13 11:40:57

标签: jquery jquery-post

一旦脚本运行,是否可以刷新div?

我正在尝试进行手动排名系统,其中列出了项目,但是当我更改输入中的数字时,以下运行

的jQuery

$('input.ranking').keyup(function(e) {
        var thisClass = $(this).attr('class');
        var substr = thisClass.split('-');
        var pdID = substr[1];
        var pdRank = $(this).val();
        qString = 'pdID='+pdID+'&pdRank='+pdRank;
        if(typeof timeout != 'undefined') clearTimeout(timeout);
        timeout = setTimeout(function(){
            //console.log(qString);
            $.post('/assets/inc/set-rank.php', qString, function (data) {
                //console.log(data);
            }, "json");

        }, 1000);
    });

这不会刷新列表或页面。有人可以协助

2 个答案:

答案 0 :(得分:2)

使用此:

$.post('/assets/inc/set-rank.php', function(data) {
  $('.yourDivClass').html(data);
});

答案 1 :(得分:0)

你不需要设置超时,那只是......奇怪。你有正确的想法,只需要一些改进。逻辑如下:在keyup上发送一个ajax帖子然后获取结果并显示它。除非结果是JSON格式,否则不需要JSON。如果是,那么您将需要修改显示的数据。

非JSON:

$('input.ranking').keyup(function(e) {
    var thisClass = $(this).attr('class');
    var substr = thisClass.split('-');
    var pdID = substr[1];
    var pdRank = $(this).val();
    qString = 'pdID=' + pdID + '&pdRank=' + pdRank;
    $.post('/assets/inc/set-rank.php', qString, function(data) {
        $('#display-div').html(data);
    });
});​

JSON:

$('input.ranking').keyup(function(e) {
    var thisClass = $(this).attr('class');
    var substr = thisClass.split('-');
    var pdID = substr[1];
    var pdRank = $(this).val();
    qString = 'pdID=' + pdID + '&pdRank=' + pdRank;
    $.post('/assets/inc/set-rank.php', qString, function(data) {
        $('#display-div').html(data.results);
    }, "json");
});​