2011-09-21 33 views
0

我已經添加了從jQuery UI的插件,一個進度條,我不希望從這樣的數值控制它(這是默認設置)設置jQuery UI的進度條:從HTML元素含量

$("#progressBar").progressbar({ 
    value: 30.59 
}); 

相反,我想直接從我的HTML控制它。我有這樣的代碼在我的HTML:

<span class="counter">30.59</span> 
<div id="progressBar" ></div> 

而這種代碼在我的JS:

var counter = $(".counter"); 
$("#progressBar").progressbar({ 
value: counter 
}); 

我在做什麼錯?

回答

2

你需要得到.counter元素的text

var counterValue = parseFloat($(".counter").text()); 
$("#progressBar").progressbar({ value: counterValue }); 
+0

對,但它不能與進度條(jQuery UI)一起工作我變得空白。 – Nima

+1

看我的編輯。需要'parseFloat'的值。 – Alex

1

代碼$(".counter")返回一個jQuery跨度對象,分配到一個進度條值是沒有用的你。

你需要的代碼是:

var couterValue = parseFloat($(".counter").text()); 
$("#progressBar").progressbar({ value: counter }); 

考慮的另一件事是此代碼運行。

如果此代碼僅在頁面加載時執行一次,則進度欄將僅顯示跨度對象的初始值。

我無法想象這段代碼對你有很大的幫助,因爲無論是更新計數器範圍標記還需要觸發複製到進度條,因此應該直接將值放在那裏。

據我所知,你不能捕獲事件的文本更改不是表單控件的DOM對象。

+0

謝謝你的回答。 – Nima