通过构造函数循环生成用于测验问题答案的复选框

时间:2014-08-08 17:02:55

标签: javascript constructor createelement

我正在浏览javascriptissexy.com上的“Learn JavaScript”路径,并且已经进展到了测验的工作点。通过查看书籍或在这里的帖子,我已经想出了我所做的一切。我怀疑代码很漂亮,但考虑到这是我做过的第一个项目,我很自豪。

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

我更改了这一行:

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

致:

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

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

有人能帮助我吗?我知道我可以用jQuery更轻松地完成这个方法,但是我想先用艰难的方式来学习它,然后当我以这种方式工作时,我会回去改变它以便更好地工作有效。

以下是代码工作的jsfiddle:http://jsfiddle.net/joshrlangley/prx9h8sm/

谢谢!

1 个答案:

答案 0 :(得分:0)

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

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

小提琴:

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