我想我错过了一些非常明显的东西......一定是......但由于某种原因,我无法让我的进度条显示属性中设置的值!
这是我的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值和警报线,我会收到一个带有值的警报。我错过了什么?
答案 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 });
});
});