0

こんにちは、私は Jquery プラグイン JUSTGUAGE を使用して svg グラフを生成しています。

私はhtmlに次のコードを持っています

HTML

      <div>
        <div>
    <div id="g1" class="graph">
                        </div>
         </div>         
                                </div>

最初に、AJax 応答を受け取った後のページに 1 つのグラフがありましたが、新しいグラフが作成され、div に 2 つのグラフが増え続ける代わりに、同じものを更新する必要があります。

AJAX コード

 $function{ 
 //code
.done(
            function(data) {
                var cal = 0;
                   cal= data.cal
                   generate(cal);        
                )

最初のリクエストを 1 つのグラフに送信し、2 番目のリクエストを送信すると、別のグラフが生成されます。

ジャストゲージコード

function generate(cal) {

    var g1 = new JustGage({
        id : "g1",
        value : cal,
        min : 0,
        max : 100,
        title : "Protein",
        label : "",
        levelColorsGradient : false
    });

新しいものを作成するのではなく、古いものを上書きしたいだけです。

4

1 に答える 1

0

justGauge には「refresh」と呼ばれるこれを行う機能があります。

ajax を次のように変更します。

.done(
        function(data) {
            var cal = 0;
               cal= data.cal
               g1.refresh(cal);        
            })

そして、生成メソッドの外で g1 にアクセスできるように justgage コードを変更します。

var g1;
function generate(cal) {
    g1 = new JustGage({
      id : "g1",
      value : cal,
      min : 0,
      max : 100,
      title : "Protein",
      label : "",
      levelColorsGradient : false
  });
}
generate(0); //or whatever your want initial value to be

ajax 呼び出しの前にゲージが必要ない場合は、代わりに次のようにすることができます。

.done(
        function(data) {
            var cal = 0;
               cal= data.cal
               if(g1)
                   g1.refresh(cal);        
               else
                   generate(cal);
            })
于 2015-01-27T01:40:55.397 に答える