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 回答