Gmailはチェックボックスを複数一気に選択したいときに先頭をまずクリックして、次に最後のチェックボックスを【シフト+クリック】するとその間にあるチェックボックスが一気に選択できて非常に便利なのですが、それをjQueryプラグインで実現するには以下のようにします。
http://jquery.com/ からjQueryをダウンロードします。(ダウンロードしたファイル名を jquery.js とします。)
http://www.pengoworks.com/workshop/jquery/field/field.plugin.htm から【jquery.field.js】をダウンロードします。
<form>
<input type="checkbox" name="user_id" id="ch_1" value="1"><label for="ch_1">Option 1</label>
<input type="checkbox" name="user_id" id="ch_2" value="2"><label for="ch_2">Option 2</label>
<input type="checkbox" name="user_id" id="ch_3" value="3"><label for="ch_3">Option 3</label>
<input type="checkbox" name="user_id" id="ch_4" value="4"><label for="ch_4">Option 4</label>
<input type="checkbox" name="user_id" id="ch_5" value="5"><label for="ch_5">Option 5</label>
</form>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.field_j.js"></script>
<script>
$(document).ready(
function (){
$('input[@name="user_id"]').createCheckboxRange();
}
);
</script>
以上で「シフト+クリック」による複数選択が実行できます。 とても便利。
また「シフト+クリック」実行後にコールバック関数を指定することもできます。
function (){
$('input[@name="user_id"]').createCheckboxRange( function(){
alert('選択完了');
} );
}