2

私はここで本当に明白な何かが欠けていると思います...そうでなければなりません...しかし、何らかの理由で、属性に設定された値をプログレスバーに表示させることができません!

これが私のhtmlです:

<div class="progressBar" data-value="58"></div>

およびjs:

$(function () {
    $('.progressBar').each(function () {
        $(this).progressbar();
        //var value = $(this).attr('data-value');
        //alert(value);
        $(this).progressbar('option', 'value', $(this).attr('data-value'));
    });
});

バーは表示されますが、値は表示されません(つまり、値= 0)。jsに値をハードコーディングすると、問題なく表示されます。var値とアラート行のコメントを解除すると、その値を含むアラートが表示されます。何が足りないの?

4

4 に答える 4

4

attrをintとして解析する必要があります:

$(this).progressbar('option', "value", parseInt($(this).attr('data-value'), 10));
于 2012-06-21T09:50:29.300 に答える
2

作業デモ http://jsfiddle.net/WQnqS/ または http://jsfiddle.net/WQnqS/1/

コード

$(function () {
    $('.progressBar').each(function () {
        $(this).progressbar();
        //var value = $(this).attr('data-value');
        //alert(value);
        $(this).progressbar('option', 'value', parseInt($(this).attr('data-value')));
    });
});​
于 2012-06-21T09:53:04.540 に答える
1

これを試して:

$(this).progressbar('option', 'value', parseInt($(this).data('value'),10));
于 2012-06-21T09:52:16.810 に答える
0

場合によっては、最初の試行は行われません。このようにしてみてください:

$(function () {
  $('.progressBar').each(function () { 
    var thisValue = parseInt($(this).attr('data-value')); 
    $(this).progressbar({ value: thisValue });
  });
});
于 2013-11-29T07:11:54.127 に答える