2009-05-29 21 views
1

我已經難倒這個問題了一個多星期:(任何洞察到這一問題將非常感激!jQuery UI的數字微調事件問題

如何鏈接一個jQuery UI數字微調/步進(http://wiki.jqueryui.com/Spinner ),這樣的標籤文本值變化微調值遞增或遞減

... 
     <script type="text/javascript"> 


       $(document).ready(function() { 

        $("#s1").spinner({max: 100, min: -100}); 

        $("#s1").bind("spin", function() { 
         $("label1").innerText = $("#s1").spinner("value"); 
        }); 
       }); 
     </script> 
    ... 

<body> 
... 
    <p><label for="s1">Basic:</label> <input id="s1" name="value"/></p> 
    <p><label for="label1"></label></p> 
... 
</body> 

編輯感謝:?!除了輸出問題,似乎有與處理程序本身問題的處理程序當我旋轉/更改微調器時不執行。

+0

不應該是id =「label1」嗎? (「#label1」)。html($(「#s1」)。spinner(「value」)); – 2009-05-29 18:27:27

+0

謝謝克里斯。我修改了上面的問題,因爲處理程序似乎並沒有在第一時間執行。 – Walter 2009-05-30 00:37:00

回答

4

根據UI/Spinner文檔,微調器更改事件的名稱不是「spin」,而是「spinchange」。如果你相應地改變了.bind方法的參數,事情應該會起作用。

1

試試這個 - 從上面的示例中,我將標籤更改爲跨度,以便文本可以到達某處,在旋轉處理程序中使用this.value,並使用jQuery的.html()來轉儲值。

<script type="text/javascript"> 
     $(document).ready(function() { 

      $("#s1").spinner({max: 100, min: -100}); 

      $("#s1").bind("spin", function() { 
       $("#label1").html(this.value); 
      }); 
     }); 
</script> 

<body> 
    <p><label for="s1">Basic:</label> <input id="s1" name="value"/></p> 
    <p><span id="label1"></span></p> 
</body> 
+0

感謝您的發佈。我試過這個,但是我仍然無法得到它的工作。我認爲事件處理程序本身也有問題,因爲它在我更改微調器時似乎並未執行。謝謝。 – Walter 2009-05-30 00:33:04