【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>

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

関連記事

Pocketのソーシャルボタンをブログ・サイトに設置する方法

後で読みたい記事を保存することのできるPocketのソーシャルボタンの設置方法についてです。このボタ

記事を読む

なるべく安くロリポップを申し込む方法

ロリポップというレンタルサーバーは元々比較的安く、よくキャンペーンなどで割引をやっているので安価にC

記事を読む

AAアニメーション

javascriptでAAアニメーションしました。AAは以下のところから参照しました。(AAアニメー

記事を読む

お名前.comのでサブドメインを取得してロリポップで使う方法

タイトルどおりなのですがお名前.comで取得した独自ドメインからサブドメインを取得し、ロリポップで使

記事を読む

【jQuery】サイドバー固定に役立つサイト集

縦スクロール 縦方向にスクロールして指定の位置に来たら要素を固定させる方法のリンク集を紹介させてい

記事を読む

javascriptにおけるfor文の書き方

1. for文とは ある条件が正しいときに処理を繰り返すというループを記述するための文です。 似

記事を読む

AmazonのランキングRSSから画像リンクを作る

Amazon RSS Amazonでいい感じのRSSが無いかと探していたのですが実は本家に素晴らし

記事を読む

さくらとロリポップのcronについての比較

私は今さくらのレンタルサーバーとロリポップのレンタルサーバーを両方試してみているのですがそのcron

記事を読む

スマホ向け幅固定サイトの回転時の幅対応方法

幅固定サイトでのスマホ回転時Webサイトの横幅を合わせる方法のメモ。 下記2点の設定が必要です。

記事を読む

【jQuery】大量の画像で重くなったページを遅延ロードで軽くする方法【Lazy Load】

画像をふんだんに使っているページでは読み込みの際に非常に時間がかかるという問題点があります。数枚なら

記事を読む

UWSCを使ったソフト自動立ち上げ【SoftEther VPN Server】

やりたいこと 最近SoftEtherという筑波大学発のベンチャー企業

【PHP】headerでContent-Typeを指定したのに効かない場合の対処法

PHPでサイトマップを作ろうと思い、XML形式のファイルを出力しようと

スマホ向け幅固定サイトの回転時の幅対応方法

幅固定サイトでのスマホ回転時Webサイトの横幅を合わせる方法のメモ。

【PHP】特定のURLからそのAtomやRSSのフィードを抽出する方法

特定のURLからRSSやATOMのフィードを抽出する方法をメモ。 流

フィード抽出ツール(RSS1.0、RSS2.0、atom)

任意URL サイト名 サイトURL RSS1.0

格安プラン限定レンタルサーバー機能比較表(2016年)

はじめに  最近新しい共用サーバーをレンタルしようと思い調査およびそ

kindle unlimitedが便利だったのでお勧めの使い方など感想メモ

 kindle unlimitedというサービスが8/3からAmazo

→もっと見る

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