我想构建一个包含约20个问题的调查。所有问题都在同一页面。选项根据用户的选择逐步显示
整个调查的结构就像树结构一样。
最初,只有一个问题显示在页面中。
如果用户选择问题1的选项1,2,则调查结束。 如果用户选择问题1的选项3,4,5,则出现问题2。
如果用户选择的问题2的选项1,2,6,然后问题3次出现,否则转到问题12.
如果用户选择问题3的1,2,转到问题5,否则转到问题4.
....
这是相当麻烦的切换问题(使用显示:无和显示:块)由JavaScript时,有许多问题。
在这种情况下最简单的方法是什么?
以下代码是根据雅各布的着作编写的。
出现另一个问题。
如果用户选择其他选项,我需要隐藏并显示另一个问题。
选项2a的1 - >显示Q12
选项4 2a的 - >显示Q3和隐藏Q12
选项1 Q3的 - >显示Q4
选项1 2a的 - >显示Q12,隐藏Q3和Q4 < - - 这种情况相当复杂
我该怎么办?
我已经看到了这样做的服务器端,而不是客户端,使用了一种类似于 wizard接口var responses = {
1 : {1:'end', 2:'end', 3:2, 4:2, 5:2, 6:2},
'2a': {1:12,2:12,3:3,4:3,5:3,6:12}
};
function handleResponse(question, key) {
option = question.selectedIndex+1;
var next = responses[key][option];
if (next=='end') return;
showQuestion(next);
}
function showQuestion(question){
$('tr[id^=trQ'+question+']').show();
}
出现的另一个问题。如果用户选择其他选项,我需要隐藏和显示另一个问题。 – Billy 2009-07-08 03:50:19