タイムスピナーの例http://jqueryui.com/spinner/#timeを取り、それを数時間だけ変更してみました。これが私のコードです。
jquery.widget( "jQuery.myspinner", jQuery.ui.spinner, {
options: {
step: 60 * 60 * 1000
},
_parse: function( value ) {
if ( typeof value === "string" ) {
// already a timestamp
if ( Number( value ) == value ) {
return Number( value );
}
return +Globalize.parseDate( value, "hh" );
}
return value;
},
_format: function( value ) {
return Globalize.format( new Date(value), "hh" );
}
});
var myspin = function(){
jQuery("#spinner").myspinner();
}
とても面白い振る舞いをしています。08 から 06 の間で増加します (開始値が 01 であっても)。また、18 行目にブレークポイントを設定すると、'value' の値は 3600000 になり (おそらくステップがそれであるため)、continue を押すたびに 2 倍になります。これにより、入力フィールドの値が正しくインクリメントされます。しかし、ブレークポイントがなければ、08 と 06 の間でトグルするだけです。スピナーがどのように機能するか非常に混乱しています。
注: 最終的にhttps://github.com/jquery/globalize#datesからタイムゾーン オプションを機能させたい (zzz)
どんな助けでも本当に感謝しています