jQuery进度条值未设置

时间:2012-06-21 09:48:47

标签: jquery progress-bar

我想我错过了一些非常明显的东西......一定是......但由于某种原因,我无法让我的进度条显示属性中设置的值!

这是我的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 个答案:

答案 0 :(得分:4)

您必须将attr解析为int:

$(this).progressbar('option', "value", parseInt($(this).attr('data-value'), 10));

答案 1 :(得分: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')));
    });
});​

答案 2 :(得分:1)

试试这个:

$(this).progressbar('option', 'value', parseInt($(this).data('value'),10));

答案 3 :(得分:0)

如果我们没有第一次尝试。试试这样:

$(function () {
  $('.progressBar').each(function () { 
    var thisValue = parseInt($(this).attr('data-value')); 
    $(this).progressbar({ value: thisValue });
  });
});