【发布时间】:2014-09-29 23:00:24
【问题描述】:
我正在制作一个表单/提问者,它将向用户提出一些问题。在本例中,第一个问题将用户分成两组,卡车或汽车。然后它会问他们一些关于车辆的问题,最后只显示他们同意的好处。
JsFiddle:http://jsfiddle.net/txwbowzy/3/
那么我有什么问题呢?在 JsFiddle 中,您将看到每个主题的 JS,汽车和卡车。我需要每个主题都有一个包含问题的数组和一个收集答案的数组。在问题结束时,它将读取答案数组,并仅显示他们对哪些问题说“是”。如果你实际测试它,你会看到它显示 h2 默认文本,但不知何故我需要它来显示数组中的第一个键(汽车问题 1 而不是“隐藏”)。
$('#q1').show();
var qq = 0;
$('#q1 input:radio').change(function () {
var ans = $('input[name="genius"]:checked').val();
$('.q-block').fadeOut(500);
if (ans == 'q1-y'){
$('#ecQuestions').fadeIn(500);
}
if (ans == 'q1-n'){
$('#lgQuestions').fadeIn(500);
}
});
//car
$('#lgQuestions input:radio').change(function () {
var ansLg = $('#lgQuestions input[name="genius"]:checked').val();
var lgQuestions = ["Car Question 1", "Car Question 2", "Car Question 3"];
var lgAnswers = new Array(5);
var activeLg = document.getElementById('activeLg');
if (qq<lgQuestions.length) {
activeLg.innerHTML = lgQuestions[qq];
qq++;
$('#lgQuestions input:radio').prop( "checked", false );
}
else {
$('.q-block').fadeOut(500);
$('#solution').fadeIn(500);
document.getElementById('benefit').innerHTML = "Car benefits";
}
});
//truck
$('#ecQuestions input:radio').change(function () {
var ansEc = $('#ecQuestions input[name="genius"]:checked').val();
var ecQuestions = ["Truck Question 1", "Truck Question 2", "Truck Question 3"];
var ecAnswers = new Array(5);
var activeEc = document.getElementById('activeEc');
if (qq<ecQuestions.length) {
activeEc.innerHTML = ecQuestions[qq];
qq++;
$('#ecQuestions input:radio').prop( "checked", false );
}
else {
$('.q-block').fadeOut(500);
$('#solution').fadeIn(500);
document.getElementById('benefit').innerHTML = "Truck benefits";
}
});
$('#q-contain input:radio').addClass('input_hidden');
$('#q-contain label').click(function () {
$(this).addClass('selected').siblings().removeClass('selected');
});
【问题讨论】:
标签: javascript jquery html arrays forms