1
使用jQuery 1.9.1 & jQuery-ui 1.10.3。想要使用微調控制一段時間(小時)。除了擁有一組有限的值之外,我還想讓它在超過23的時候滾動到0。我遇到的問題是什麼時候開始。jQuery ui微調 - 使用時間(小時)
我用微調的代碼:
$(function() {
$("#mystarttime").spinner({
numberFormat: "d2",
spin: function(event, ui) {
if (ui.value > 23) {
$(this).spinner("value", 0);
return false;
}
else if (ui.value < 0) {
$(this).spinner("value", 23);
return false;
}
console.log("start spin - " + ui.value);
}
});
});
輸入:
<label for="mystarttime">Start Time (hr):</label>
<input type="text" id="mystarttime" name="startTimeVal">
頁面加載時,Spinner具有什麼也沒有。如果單擊微調器上的向上箭頭(增加),spin
事件觸發&我在控制檯中收到一條消息,顯示值(1)。但是,如果我單擊微調器上的向下箭頭,spin
事件不會觸發,但我在輸入框中獲得了23。直到我再次單擊向下箭頭,spin
事件觸發,並且輸入(和控制檯)都顯示22.
如果我單擊向下箭頭一次,輸入框顯示23(但沒有事件觸發)。 之後,如果我單擊向上箭頭一次,輸入顯示00(但沒有事件觸發)。
我一定是做錯了事,或者看錯事件來檢測翻轉&的變化,但還沒有找到一個很好的例子,它們都翻轉並看到事件。希望對如何解決這個問題有任何想法或建議。
謝謝你的答覆。如果用戶輸入值(-4或38),我可以將代碼放在類似於<0 and > 23的代碼中,以使其默認爲一個或另一個。然而,如果你輸入一個像'12:45'這樣的值 - 更改事件仍會嘗試處理該值。你如何限制它接受多餘的輸入數據,或者一旦他們輸入數據就處理它? –