【HTML/jQuery UI】NumericUpDownを設置する【Spinner】

公開日: : 最終更新日:2014/08/28 JavaScript/jQuery, サイト制作

スポンサーリンク

HTMLタグにNumericUpDownがないか探したのですがないみたいなのでそれが使えるようなものを探したところ一番良さそうなのがjQueryUIの「Spinner」でしたので試しに使ってみました。

設置する

jQueryUIの設定自体は省略します。Spinnerの設置自体はinputタグを用意してそのDOM(jQueryオブジェクト)のspinnerメソッドを呼ぶだけです。

JS側

$(function(){
	var spinner = $( "#spinner" ).spinner();
});

HTML側

<input id="spinner">

最大値・最小値・初期値の設定

このままではどんな値でも設定できてしまうので最大と最小値を設定します。ついでに初期値も設定します。

$(function(){
	var spinner = $( "#spinner" ).spinner(
	{
		max:31,
		min:1		
	});
	$( "#spinner" ).spinner( "value" , 31 );	
});

最大値・最小値はプロパティで設定することができます。「max」、「min」プロパティでそれぞれ最大と最小を設定し、オプション設定で「value」値に指定の初期値、この場合では31、を入れています。

他のプロパティにはクリックごとの上がり幅、下がり幅を決める「step」などがあります。詳細は本家ページのこちらをご覧ください。

値の取得

値はオプションの「value」値から取得できます。

var val = $( "#spinner" ).spinner( "value" );

イベント

イベントには上下ボタンのクリックにより値が変更されたときに呼ばれる「spin」イベントや外的要因から値が変更されたときに呼ばれる「change」イベント、初期化の際に呼ばれる「create」イベントなどがあります。(spinはchangeが呼ばれる状況では呼ばれない模様。その逆もその様子。)

例)

$(function(){
	var spinner = $( "#spinner" ).spinner(
	{
		max:31,
		min:1,
		change: function( event, ui ) {
			/*省略*/
		},
		spin: function( event, ui ) {
			/*省略*/
		},
		create: function( event, ui ) {
			/*省略*/
		}
	});
});

※ちなみに引数の「ui」で値を取得できるのは「spin」のみで「ui.value」で取得可能です。その他の場合は上記で述べたオプションの「value」の値から行ってください。

サイズの変更

CSSでSpinnerのサイズを変更します。

#spinner{
  width: 26px;
  height: 16px;
  font-size: 14px;
  line-height: 16px;
}

デモ



値⇒
change⇒
spin⇒

CSSも上記のものを指定しています。

ソース

JS側

$(function(){
	var spinner = $( "#spinner" ).spinner(
	{
		max:31,
		min:1,
		change: function( event, ui ) {
			$( "#change" ).html( $("#spinner").spinner( "value" ) );
		},
		spin: function( event, ui ) {
			$( "#spin" ).html( ui.value );
		},
		create: function( event, ui ) {
			$( "#spinner" ).spinner( "value" , 31 );
		}
	});
	
	//クリックイベントで値を取得
	$("#btn").click(function(){
		var val = $( "#spinner" ).spinner( "value" );
		$( "#spinnerdst" ).html( val );
	});	
});

HTML側

<input id="spinner">
<button id="btn">値取得</button>
値⇒<span id="spinnerdst"></span>
change⇒<span id="change"></span>
spin⇒<span id="spin"></span>

スポンサーリンク
  • このエントリーをはてなブックマークに追加

関連記事

WordPressサイトのSSL対応(HTTPS化)手順のまとめ【さくらサーバー】

先週頃にこのサイトをSSL対応しましたのでその流れについてまとめておき

【Google Charts】動的にグラフを更新する方法

はじめに Webサイト上でグラフを描こうと思った場合、いくつかのJa

体重変化量計算シミュレータ【ダイエット/肥満】

ツール本体 入力 カロリー入力 1日の余剰摂取/消費カロリー

おサイフケータイ対応ストレージ32GBのSIMフリースマホまとめ【2017年秋版】

はじめに SIMフリーの格安スマホのおサイフケータイ機能付きのもので

リクルート期間限定ポイントの有効な使い道

はじめに  先日クレジットカードの見直し活動の一環でポイント還元率の

初心者がお金を貯めるための節約・財テク手法まとめ【ポイント還元・投資・税金対策】

はじめに  最近なるべく節約しようと思い、お金周りに関して色々調べて

動画講座を効率的にキャプチャして復習する方法

はじめに  最近、動画媒体の講座などをたまに視聴しています。独学だと

→もっと見る

  • Author : ががんぼ
    プログラミングやWeb関係で気付いたことについてメモしていく予定。だいたいが備忘録ですが、自分でサンプルを作って動かしてみたりしています。
PAGE TOP ↑