ページのユーザーが表示するdivの1つだけを選択するか、すべてを選択するかを切り替えることができるように、dividの配列を作成しました。私のスクリプトを以下に示します。
<script type="text/javascript">
function switchdivs(theid){
var thearray= new Array("div1", "div2", "div3");
for(i=0; i<thearray.length; i++){
if(thearray[i] == theid || theid == "all"){
document.getElementById(thearray[i]).style.display="block";
}else{
document.getElementById(thearray[i]).style.display="none";
}
}
}
</script>
ページの更新後もユーザーの選択を維持したいと思います。この例をいくつか読んだことがあります。たとえば、ページのリロード時にJqueryの表示/非表示をリセットすることで理解が深まりましたが、それでも配列で機能させることができません。個々のIDごとにルールを設定する必要がありますか、それとも配列を使用したより洗練されたソリューションがありますか?私はこのようなことを試しましたが、おそらく私の貧弱なスクリプトからわかるように、私はjavascriptに非常に慣れておらず、かなり迷っています。
$(document).ready(function() {
if (sessionStorage['divselection']) {
if (sessionStorage['divselection'] === 'theid')
$("#theid").show();
else
$("#thearray[i]").hide();
}
$("input[name='theid']").change(function() {
if( $("input[name='thearray[i]']:checked").val() == "theid")
{
$("#thearray[i]").hide();
$("#theid").show();
sessionStorage['divselection'] = 'theid';
}
});
私を正しい方向に向ける手助けをしてくれてありがとう。