3

プログレスバーの値を見つけて、すべてのステップでパーセンテージでインクリメントできるようにしたいのですが、何を試しても未定義であるか、オブジェクトがインスタンス化される前にメソッドを呼び出すことができません。

私が試したこと:

 alert($('progressbar:first').prop('progress-label')); 

 progressbarValue = progressbar.find( ".progress-label" ).val();

HTML

<div id="progressbar"><div class="progress-label">Form Process</div></div>

if(condition == true) {

    progressbar = $( "#progressbar" );
    progressbarValue = progressbar.find( ".ui-progressbar-value" );
    progressLabel = $( ".progress-label" );


    var size = parseInt($("#fieldWrapper .step").size(),10);
    var progress = 100/size ; 

 alert($('progressbar:first').prop('progress-label')); 
  progressbar.progressbar({
      value: progress,
      change: function() {
        progressLabel.text( progressbar.progressbar( "value" ) + "%" );

      },
      complete: function() {
        progressLabel.text( "Complete!" );
      }
    });

        progressbarValue.css({
          "background": '#' + Math.floor( Math.random() * 16777215 ).toString( 16 )
        });

}
4

1 に答える 1

5

プログレスバー ウィジェットの value メソッドを使用してみてください。

$("#progressbar").progressbar("value");

http://api.jqueryui.com/progressbar/#method-value

プログレスバーの値を取得するには、事前にプログレスバーを開始しておく必要があることに注意してください。それ以外の場合、要素はまだプログレスバーではありません。

デモ: http://jsfiddle.net/3sbTw/

于 2013-02-12T18:07:35.660 に答える