1
我的html和jQuery代碼在這裏。這是一個非常簡單的測試,但它仍然無法工作..基於單選按鈕點擊顯示和隱藏div
這裏是HTML:
<p>Select a question to see the answer.</p>
<div id="questionArea" class="questionArea" >
Question 1 <input type="radio" id="question1" class="question" name="radioGroup1" />
Question 2 <input type="radio" id="question2" class="question" name="radioGroup1" />
Question 3 <input type="radio" id="question3" class="question" name="radioGroup1" />
</div>
<div id="answerArea" class="answerArea">
<div id="answer1" class="answer">First Answer</div>
<div id="answer2" class="answer">Second Answer</div>
<div id="answer3" class="answer">Third Answer</div>
</div>
這裏是jQuery的:
$(document).ready(function() {
$(".answerArea").hide();
$("input[$name='radioGroup1']").click(function() {
var answer = $(this).val();
$(".answerArea").hide();
$("#" + answer).show();
});
});
});
這裏是另一種方式來顯示/隱藏,雖然它不是一個好方法,但我只是想知道爲什麼它不能工作..
$(document).ready(function() {
$("div.answerArea").hide();
$('#question1').click(function() {
$('#answer2').hide('fast');
$('#answer3').hide('fast');
$('#answer1').show('fast');
});
$('#question2').click(function() {
$('#answer1').hide('fast');
$('#answer3').hide('fast');
$('#answer2').show('fast');
});
$('#question3').click(function() {
$('#answer1').hide('fast');
$('#answer2').hide('fast');
$('#answer3').show('fast');
});
});
好的答案......我只是想補充一點,如果用戶在已經有一個單選按鈕被選中後刷新頁面,他們再次看到答案的唯一方法就是點擊一個不同的單選按鈕。解決這個問題的兩種方式:(1):在頁面加載時重置表單('$('#myForm')[0] .reset()')(2):在頁面首次加載時觸發click事件。 '(「。question」)。click(function()...).trigger('click');' – 2013-02-24 22:09:54
@Blender它確實隱藏了所有的答案元素,但點擊時仍然無法顯示。請問,「eq」和index()是什麼意思?謝謝。 – Sunny 2013-02-24 22:12:28
更改'$(「。answerArea」)。hide();'到'$(「。answer」)。hide();'? – Zac 2013-02-24 22:20:44