0

一段脚本运行后是否可以刷新 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);
    });

这不会刷新列表或页面。有人可以帮忙吗

4

2 回答 2

2

用这个:

$.post('/assets/inc/set-rank.php', function(data) {
  $('.yourDivClass').html(data);
});
于 2012-12-13T11:43:01.783 回答
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");
});​
于 2012-12-13T11:54:59.397 回答