Типа дерева
Если "типа дерева", то в моем понимании - вопросы должны храниться в каком-то объекте. Вроде такого:
var q = {
'Question 1' : {
'Yes' : {
'Question 1.1' : {
'Yes' : 'Result',
'No' : { /* ... */ }
}
},
'No' : {
'Question 1.2' : { /* ... */ }
}
}
};
Этот момент вы не указали, но если я угадал, то вариант может быть таким -
jsfiddle.net/77ooxgwvvar q = {
'Вы ненормальный?': {
1: 'Windows Phone',
0: {
'Вы гей?': {
1: 'Apple',
0: {
'Цвет смартфона розовый?': {
1: 'Apple',
0: 'Android'
}
}
}
}
}
},
tmpl = '<p>@</p><input type="radio" name="ans" value="1">Да <input type="radio" name="ans" value="0">Нет',
cur = q[Object.keys(q)[0]],
out = $('output').html(tmpl.replace(/@/, Object.keys(q)[0]));
out.on('change', ':radio', function () {
cur = cur[$(this).val()];
if (typeof cur === 'string') {
out.html('Вам подойдёт <b>' + cur + '</b><br>Тест окончен!');
} else {
out.html(tmpl.replace(/@/, Object.keys(cur)[0]));
cur = cur[Object.keys(cur)[0]];
}
});