Gmailのように「shift + クリック」でチェックボックスの複数選択を可能にするjQueryプラグイン

Gmailはチェックボックスを複数一気に選択したいときに先頭をまずクリックして、次に最後のチェックボックスを【シフト+クリック】するとその間にあるチェックボックスが一気に選択できて非常に便利なのですが、それをjQueryプラグインで実現するには以下のようにします。

■ 1.jQueryをダウンロード

http://jquery.com/

からjQueryをダウンロードします。(ダウンロードしたファイル名を jquery.js とします。)

■ 2. jQuery Field Plug-inをダウンロード

http://www.pengoworks.com/workshop/jquery/field/field.plugin.htm

から【jquery.field.js】をダウンロードします。

■ 3. 以下のようなチェックボックスを含むhtmlを用意します

<form action="" method="post">
 <p>
  <input type="checkbox" name="user_id" id="chkRange_1" value="1" />
  <label for="chkRange_1">Option 1</label>

  <input type="checkbox" name="user_id" id="chkRange_2" value="2" />
  <label for="chkRange_2">Option 2</label>
		
  <input type="checkbox" name="user_id" id="chkRange_3" value="3" />
  <label for="chkRange_3">Option 3</label>
	
  <input type="checkbox" name="user_id" id="chkRange_4" value="4" />
  <label for="chkRange_4">Option 4</label>
		
  <input type="checkbox" name="user_id" id="chkRange_5" value="5" />
  <label for="chkRange_5">Option 5</label>
 </p>
</form>

■ 4. 用意したhtmlのヘッダに以下の記述を追加

( j$ としているのはprototype.js とのコンフリクト回避のためです。)

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.field_j.js"></script>
<script>

jQuery.noConflict();
var j$ = jQuery;

	j$(document).ready(
		function (){
			j$('input[@name="user_id"]').createCheckboxRange();
		}
	);

</script>

以上で「シフト+クリック」による複数選択が実行できます。

便利。

■ 似たようなのでこんなのもあります「shiftclick」

http://sneeu.com/projects/shiftclick/

No.591

11/10 15:22


jQuery




Powered By flat memo Ver 0.9.6.2 ©2007 econosys system