0

ユーザーが各質問に回答できるようにする非常に単純なフォームがあり、回答にサブ質問がある場合、適切な回答がチェックされるとサブ質問が表示されます..そして、取得に失敗していますこれが機能する...

   <script>
    $(document).ready(function(){

            $(".sub-question").hide();

            var yes = document.getElementById("#Q4A1");


            if(yes.checked){
                    $(".sub-question").show(200);
            }
    });
    </script>

現在、自分のyes.checked状態で「null」参照エラーが発生しています。

<div class="question-content">
<span>Example text example text</span>
<form id="question-04">
<label><input type="radio" name="question-04" value="yes"  id="Q4A1"> Yes</label><br>
<label><input type="radio" name="question-04" value="no"> No</label>
</form>
<div class="sub-question">
<div class="sub-question-content">
<span>Aliquam erat volutpat. Quisque facilisis non mauris non malesuada. Duis in accumsan metus. Ut eget nulla neque?</span>
<form id="subquestion-04">
<label><input type="radio" name="question-04" value="yes"> Yes</label><br>
<label><input type="radio" name="question-04" value="no"> No</label>
</form>
</div>

</div>
</div>

私がやりたいのは、答えが「はい」の場合に「サブ質問」を表示することだけです。「いいえ」にサブ質問がある場合に備えて、可能であれば入力要素を明示的に参照せず、代わりにフォーム要素を参照したいと思います。これをできるだけ動的にしたい。助けてくれてありがとう!

4

1 に答える 1

1

ここに動作するjsfiddleがあります

ボタンラジオで変更イベントをリッスンする必要があります。

$(document).ready(function(){

        $(".sub-question").hide();
        $("#Q4A1").change(function () {
             $(".sub-question").show(200);
        });
});

もちろん、ニーズに合わせて変更する必要があるかもしれませんが、アイデアは得られました。JavaScript を使用して、ラジオ ボタンの変更イベントをリッスンし、必要に応じてサブ質問を表示することができます。

「いいえ」の答えで同じことをしたい場合、それを拡張するのは簡単ですが、私はあなたにそれをさせます。これがプログラミングが楽しい理由です。

于 2013-10-08T19:20:07.713 に答える