2012-09-12 63 views
0

我們正在使用JQuery UI進行ProgressBar。我們正面臨一些問題,我們沒有從PHP獲得價值。我們無法創建一個可以將值返回給基於Ajax的代碼的數字循環。我們如何在PHP中回顯進度條的數據?

下面是我們的代碼:

HTML

<!DOCTYPE html> 
<html> 
<head> 
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 
<style type="text/css"> 
    #bardivs { 
    width:400px; /* or whatever the of the porgress bar is */ 
    /* 
    The position of #bardivs must be something other than 
    static (the default) so that its children will be positioned 
    relative to it. 
    */ 
    position:relative; 
    } 
#progresstext { 
position:absolute; 
top:0; 
left:0; 
} 
</style> 
    <script> 
    var url = "http://localhost/sample/data.php"; 
$(function() { 
    var progress = 0; 
//alert("some value" + value, value); 
$("#progressbar").progressbar({ progress: 0 }); 
    setTimeout(updateProgress, 500); 
}); 
function updateProgress() { 
var progress; 
$.get(url, function(data) { 
    // data contains whatever that page returns  
    if (data < 100) { 
     $("#progressbar").progressbar("option", "value", data); 
     $("#progresstext").html("<p> Loading...<p>"); 
     setTimeout(updateProgress, 500); 
     } else { 
     $("#progressbar") 
      .progressbar("option", "value", 100); 
    } 

    }); 
    } 
</script> 
</head> 
<div id="bardivs"> 
<div id="progressbar"></div> 
<div id="progresstext"></div> 
</div> 
</html> 

我們沒有任何想法,我們如何可以使PHP代碼中使用此加載功能。它應該在一個循環中。

+0

腳本如何看起來你已經嘗試過? –

+0

有沒有錯誤? ajax請求是否提供了一些東西? – Zlatev

+0

我們已經在互聯網上的某處複製了它。我們正在尋找這種類型的功能,但我們無法在PHP中創建腳本來激活它。就像我們需要循環中的一個數字,如0-100,並且它應該使用Ob_start(),ob_end_clean()在單個回聲中。我們無法將所有這些事情彙總在一起...... – PPS

回答

0

有沒有這樣的progress: 0,進度由value測量,你應該使數據INT,因爲它作爲字符串:

$("#progressbar").progressbar({ value: 0 }); 
    setTimeout(updateProgress, 500); 
}); 
function updateProgress() { 
    var progress; 
    $.get(url, function(data) { 
     // data contains whatever that page returns  
     if (data < 100) { 
      $("#progressbar").progressbar({value: parseInt(data)}); 
      $("#progresstext").html("<p> Loading...<p>"); 
      setTimeout(updateProgress, 500); 
     } else { 
      $("#progressbar").progressbar({value: 100}); 
     } 
    }); 
} 

在PHP確保您可以根據自己的腳本

更新進度
<?php 
    $data = get_progress(); 
    echo (int)$data; 
?> 
+0

我們如何更新像Ob_start()這樣的進度; ? – PPS