使用构造函数上的循环为测验问题的答案生成复选框

Generating checkboxes for answers to quiz questions with a loop over a constructor

本文关键字:答案 问题 复选框 构造函数 循环      更新时间:2023-09-26

我正在通过javascriptissexy.com上的"学习JavaScript"路径工作,并且已经进展到准备测试的地步。我通过看书或在这里的帖子来弄清楚我所做的几乎所有事情。我怀疑代码是否漂亮,但考虑到这是我做过的第一个项目,我很自豪。

无论如何,我使用构造函数和for循环将问题添加到一个div中,并将可能的答案添加到另一个innerDiv中。我不能弄清楚的是如何得到innerDiv的答案显示为复选框。

我改变了这一行:

var innerDiv = document.createElement('div');

:

var innerDiv = document.createElement('input');

但是所做的只是将其更改为文本输入框,而我所做的任何其他更改都只是破坏了代码。我很沮丧,但不想放弃,我喜欢做这个,我真的很想学它。

有人能帮帮我吗?我知道我可以用jQuery更容易地做到这一点,但我试着先以困难的方式学习它,然后当我让它以这种方式工作时,我将回过头来修改它,使其更好、更有效。

下面是工作代码的概要:http://jsfiddle.net/joshrlangley/prx9h8sm/

谢谢!

您需要创建一个新的输入对象,设置该对象的属性使其成为一个复选框,然后将其添加到DOM:

    var cb = document.createElement('input');
    cb.setAttribute("type", "checkbox");
    cb.setAttribute("value", q.Answer[j]);
    innerDiv.appendChild(cb);
操纵:

http://jsfiddle.net/prx9h8sm/1/