完成.post后的jQuery刷新div

完成.post后的jQuery刷新div,jquery,jquery-post,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

脚本运行后是否可以刷新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);
    });
这不会刷新列表或页面。有人能帮你用这个吗

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

你不需要设置一个超时,那只是…奇怪。你的想法是对的,只是需要一些改进。逻辑是这样的:在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:


这不是将我的数据写入html。它什么也没做
$('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");
});​