jQueryを使ってラジオボタンでグループ表示を選択する
- Category :
- Javascript
…ここからが続き
ラジオボタンでグループ表示を選択仕組み
ulを使ってのリスト一覧のサンプルソース
jQuery( document ).ready( function() {
if ( jQuery( "input[@name='switch']:checked").val() == undefined ) {
var val = "all";
} else {
var val = jQuery( "input[@name='switch']:checked").val();
}
show(val);
jQuery( ".check").click( function() {
show( jQuery(this).val() );
});
});
function show( val ) {
if( val == "all" ) {
jQuery( "#tabBox li" ).show();
} else {
jQuery( "#tabBox li" ).hide();
jQuery( "#tabBox li." + val ).show();
}
}
- 上記Javascriptと読み込ませる。
- inputタグのnameを「switch」にする。
- inputタグのclassの名前「check」にする。
- liにつけるclass名とvalue内を名前を同じにする。
- 後はclass名にあわせてCSSのbackgroundにアイコンなり画像を指定する。
<ul id="switchNavi"> <li class="all"><input name="switch" type="radio" id="switchall" value="all" class="check" checked="checked" /><label for="switchall">すべて表示</label></li> <li class="group1"><input name="switch" type="radio" id="switchgroup1" value="group1" class="check" /><label for="switchgroup1">グループ 1</label></li> <li class="group2"><input name="switch" type="radio" id="switchgroup2" value="group2" class="check" /><label for="switchgroup2">グループ 2 </label></li> </ul> <ul id="tabBox"> <li class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <li class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトルタイトルタイトル</a></li> <!--/ #tabBox--></ul>
新着情報などで使えそうなdlを使った一覧のサンプルソース<
jQuery( document ).ready( function() {
if ( jQuery( "input[@name='switch']:checked").val() == undefined ) {
var val = "all";
} else {
var val = jQuery( "input[@name='switch']:checked").val();
}
show(val);
jQuery( ".check").click( function() {
show( jQuery(this).val() );
});
});
function show( val ) {
if( val == "all" ) {
jQuery( "#tabBox dt,#tabBox dd" ).show();
} else {
jQuery( "#tabBox dt,#tabBox dd" ).hide();
jQuery( "#tabBox ." + val ).show();
}
}
使用方法は基本、上のサンプルと同じです。
<ul id="switchNavi"> <li class="all"><input name="switch" type="radio" id="switchall" value="all" class="check" checked="checked" /><label for="switchall">すべて表示</label></li> <li class="group1"><input name="switch" type="radio" id="switchgroup1" value="group1" class="check" /><label for="switchgroup1">グループ 1</label></li> <li class="group2"><input name="switch" type="radio" id="switchgroup2" value="group2" class="check" /><label for="switchgroup2">グループ 2 </label></li> </ul> <dl id="tabBox"> <dt class="group1">2008/10/02</dt> <dd class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトル</a></dd> <dt class="group2">2000/10/01</dt> <dd class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトル</a></dd> <dt class="group1">2008/10/02</dt> <dd class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトル</a></dd> <dt class="group2">2000/10/01</dt> <dd class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトル</a></dd> <dt class="group1">2008/10/02</dt> <dd class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトル</a></dd> <dt class="group2">2000/10/01</dt> <dd class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトル</a></dd> <dt class="group1">2008/10/02</dt> <dd class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトル</a></dd> <dt class="group2">2000/10/01</dt> <dd class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトル</a></dd> <dt class="group1">2008/10/02</dt> <dd class="group1"><a href="#header">グループ 1のタイトルタイトルタイトルタイトルタイトルタイトル</a></dd> <dt class="group2">2000/10/01</dt> <dd class="group2"><a href="#header">グループ 2のタイトルタイトルタイトルタイトルタイトルタイトル</a></dd> <!--/ #tabBox--></dl>





Comments
お返事ありがとうございます。
なるほど、いろいろ勉強しながら頑張ってみようと思います。
ありがとうございました!
ハルさん。はじめまして。
出来るとは思いますよ。そのボタンに値を入れてクリック後にアクションって感じになるかと思いますが、このjQueryのソースでとは違う書き方をしないといけないですね…
はじめまして。
いろいろ勉強しながら、こちらのサイトにたどり着きました。
こちらのソースを利用させていただきたいのですが、ラジオで選択した後に、ボタンでクリックしてから該当するグループを表示させることはできますでしょうか?