チェックボックスで選択した値をパラメータとしてURLに表示する
簡易の検索などに使用。
■設定内容
◯html
<form method="get" action="<?php echo SITEROOT;?>list/"> <input type="checkbox" id="(ID_A)" name="(パラメータ名)" value="(パラメータ値)"><label for="(ID_A)">ラベル</label> <input type="checkbox" id="(ID_B)" name="(パラメータ名)" value="(パラメータ値)"><label for="(ID_B)">ラベル</label> <input type="checkbox" id="(ID_C)" name="(パラメータ名)" value="(パラメータ値)"><label for="(ID_C)">ラベル</label> <input type="submit" class="btn" value="絞り込む"/> </form>
◯js
(function() { $("#searchMenu li").hover(function() { $(this).children('ul').show(); }, function() { $(this).children('ul').hide(); }); // modal高さ取得 modalHeight(); $(window).resize(function(){ modalHeight(); }); try{ document.addEventListener ('submit',function(e){func(e)},true); }catch(e){ document.attachEvent('onsubmit',function(e){func(e)}); } function func(e){ var t = (e.srcElement || e.target); if(t.nodeName=="FORM"){ var args=new Object(); for(var i=0;i<t.length;i++){ if(t[i].name && t[i].checked){ if(!args[t[i].name]){ args[t[i].name]=t[i].name+"="+t[i].value; }else{ args[t[i].name]+=","+t[i].value; } } } } var url=""; for(var i in args){ url+=(url==""?"":"&")+args[i]; } url=t.action+(url==""?"":"?"+url); location.href=url; e.preventDefault(); } }());
■参考元ソース
<script> try{ document.addEventListener ('submit',function(e){func(e)},true); }catch(e){ document.attachEvent('onsubmit',function(e){func(e)}); } function func(e){ var t = (e.srcElement || e.target); if(t.nodeName=="FORM"){ var args=new Object(); for(var i=0;i<t.length;i++){ if(t[i].name && t[i].checked){ if(!args[t[i].name]){ args[t[i].name]=t[i].name+"="+t[i].value; }else{ args[t[i].name]+=","+t[i].value; } } } } var url=""; for(var i in args){ url+=(url==""?"":"&")+args[i]; } url=t.action+(url==""?"":"?"+url); location.href=url; e.preventDefault(); } </script> <form method="get" action="./"> <input type="checkbox" name="hoge" value="1">hoge1 <input type="checkbox" name="hoge" value="2">hoge2 <input type="checkbox" name="hoge" value="3">hoge3 <input type="checkbox" name="fuga" value="1">fuga1 <input type="checkbox" name="fuga" value="2">fuga2 <input type="checkbox" name="fuga" value="3">fuga3 <input type="submit" value="送信" /> </form>
参考サイト
-
前の記事
一覧ページに設置するもっと見るボタン 2017.12.21
-
次の記事
base64形式でエンコードされたパスワードをデコードする 2018.01.17