所以我用:
创建了一个测验php(将答案存储在MySQL DB中)
html(创建广播/复选框并为其指定名称,值和ID)
JavaScript / JQuery(在当前回答/隐藏后显示以下问题,如果前一个问题的答案不同,则取消选中以下问题。
然而,我的问题是没有意识到要创建这个函数需要多少不同的函数我最终会有数百行JavaScript / JQuery来完成50个问题的测验。
以下是我的代码的一小段内容,以便了解我在说什么:
测验JavaScript
url
测验HTML
<script>
$(document).ready(function() {
var par = $('#A2');
$(par).hide();
$('#A1Y').click(function(e) {
$(par).slideDown('slow');
});
$('#A1N').click(function(e) {
$(par).slideDown('slow');
});
});
</script>
上面的html / JavaScript组合我已经针对每个问题重复了,但是稍后在测验中一些函数会发生变化,这样如果问题B1被回答否,它将显示问题C1,但是如果B1被回答是,那么将揭示B2。
基本上,如果有人要完成所有的B部分(1到8 - 假设他们在问题B1上回答是),但最后改变了主意并点击了否,问题B1,B2到8将被取消,然后揭示问题C2。 以下是的JQuery:
JQuery的
<div id="A1">
<h5>A1</h5>
<label>
<input type="radio" name="A1" value="Yes" id="A1Y"/>
Yes
</label>
<br>
<label>
<input type="radio" name="A1" value="No" id="A1N"/>
No
</label>
</div>
我有上面的JQuery一直到#B8 - 然后这个代码重复自己的类似的结构化部分C,D,E,F&amp; -G。
正如你所看到的,这不是一种方便的编码方式,它只是失控,当更多问题被添加到测验中时我开始想知道是否有办法创建一个类似于包含函数的循环所有这些信息。