質問: $('.resultb'); //1とりんごまたは、おかしを選択したら以下の処理 $("#q1-1,input[value='りんご'],input[value='おかし']").on('change', function(){ if( $("#q1-1").is(':checked') && $("input[value='りんご']").is(':checked') || $("input[value='おかし']").is(':checked') ) { $resulta.show().text(pattern1); $resultb.show().html(koin); } }); //1とみかんを選択したら以下の処理 $("#q1-1,input[value='みかん']").on('change', function(){ if ( $("#q1-1").is(':checked') && $("input[value='みかん']").is(':checked') ) { $resulta.show().text(pattern2); $resultb.show().html(koin); } }); //2とみかんまたは、りんごまたは、おかしを選択したら以下の処理 $("#q1-2,input[value='みかん'],input[value='りんご'],input[value='おかし']").on('change', function(){ if ( $("#q1-2").is(':checked') && $("input[value='みかん']").is(':checked') || $("input[value='りんご']").is(':checked') || $("input[value='おかし']").is(':checked') ) { $resulta.show().text(pattern3); $resultb.show().html(wagahai); } }); //3とみかんまたは、りんごまたは、おかしを選択したら以下の処理 $("#q1-3,input[value='みかん'],input[value='りんご'],input[value='おかし']").on('change', function(){ if ( $("#q1-3").is(':checked') && $("input[value='みかん']").is(':checked') || $("input[value='りんご']").is(':checked') || $("input[value='おかし']").is(':checked') ) { $resulta.show().text(pattern3); $resultb.show().html(wagahai); } }); }); ``` ``` sample1 1 2 3 sample2 りんご みかん おかし ```
回答: 「結果表示を変える処理」 「ラジオボタンにクリックイベントを設定」 を分けて考えるといいですよ。 ``` $(function () { var wagahai = '吾輩は猫である'; var koin = '光陰矢の如し'; var pattern1 = '文言1'; var pattern2 = '文言2'; var pattern3 = '文言3'; $resulta = $('.resulta'); $resultb = $('.resultb'); // 結果表示を変える処理 var changeResult = function changeResult() { // いったん表示をクリア $resulta.hide().text(''); $resultb.hide().html(''); // q1、q2の選択されている値を取得 var q1 = $('input[name=q1-1a]:checked').val(); var q2 = $('input[name=q2-1a]:checked').val(); // どっちかが選択されてないときは無視 if (q1 == undefined || q2 == undefined) return; //1とりんごまたは、おかしを選択したら以下の処理 if (q1 == '1' && (q2 == 'りんご' || q2 == 'おかし')) { $resulta.show().text(pattern1); $resultb.show().html(koin); } //1とみかんを選択したら以下の処理 if (q1 == '1' && q2 == 'みかん') { $resulta.show().text(pattern2); $resultb.show().html(koin); } //2とみかんまたは、りんごまたは、おかしを選択したら以下の処理 if (q1 == '2' && (q2 == 'みかん' || q2 == 'りんご' || q2 == 'おかし')) { $resulta.show().text(pattern3); $resultb.show().html(wagahai); } //3とみかんまたは、りんごまたは、おかしを選択したら以下の処理 if (q1 == '3' && (q2 == 'みかん' || q2 == 'りんご' || q2 == 'おかし')) { $resulta.show().text(pattern3); $resultb.show().html(wagahai); } }; // ラジオボタンにクリックイベントを設定 $('input[name=q1-1a],input[name=q2-1a]').click(changeResult); }); ```