2012-12-13 47 views
0

腳本運行後,是否可以刷新div?jQuery刷新div後.post完成

我試圖做到哪裏項目列示手動排名系統,但是當我換號在輸入以下運行

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

使用此:

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

這個心不是寫我的數據的HTML。它沒有做任何事情 – ngplayground

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"); 
});​