javascript复选框创建元素

时间:2012-10-23 14:43:45

标签: javascript checkbox createelement

我正在尝试向表单添加复选框列表。当我使用下面的代码时,我得到了数组中的所有项目但没有复选框,所以我无法选择任何内容。我确信这有一个非常简单的解决方案,但我无法看到我做错了什么(我是新手)。非常感谢您的帮助。这是代码:

var check_value = new Array()
check_value[0] = "I work at home"
check_value[1] = "Train/Subway"
check_value[2] = "Walk"
check_value[3] = "Bicycle"

for(count in check_value)
    {
    var ptworkinfo=document.createElement("input");
    ptworkinfo.type="checkbox";
    ptworkinfo=(check_value[count] + "</br>");
    ptworkinfo.id="ptworkinfo";
    document.write(ptworkinfo);
    count+=count;
    }

4 个答案:

答案 0 :(得分:10)

这里有几个问题:

1)永远不要使用document.write - 您需要使用的标准纯javascript实现是 appendChild 到父元素。例如:

var parentElement = document.getElementById('myParentElement');

if(parentElement != null)
   parentElement.appendChild(myChildElement);

2)使用这些知识,您可以通过简单的语句返工轻松添加元素:

var parentElement = document.getElementById('myParentElement');

for(var count in check_value)
{
    var newCheckBox = document.createElement('input');
    newCheckBox.type = 'checkbox';
    newCheckBox.id = 'ptworkinfo' + count; // need unique Ids!
    newCheckBox.value = check_value[count] + '<br/>';

    parentElement.appendChild(newCheckBox);
}

答案 1 :(得分:2)

看起来你只是忘了把.value放在你的一条线上。相反,它会将您创建的变量覆盖为带有字符串的输入框。

...
    ptworkinfo.value =(check_value[count] + "</br>");
...

答案 2 :(得分:0)

以下是根据上述建议更新的新代码(谢谢)。我现在得到一行复选框,旁边没有文字。另外,奇怪的是,每个复选框后也没有中断。它就像“ptworkinfo.value =(check_value [count] +'&lt; br /&gt;');”只是没有通过。有什么想法/建议?

var residence = document.getElementById('residence');

var check_value = new Array( )
check_value[0] = "I work at home"
check_value[1] = "Train/Subway"
check_value[2] = "Walk"
check_value[3] = "Bicycle"

for(var count in check_value)
    {
    var ptworkinfo=document.createElement("input");   
    ptworkinfo.value=(check_value[count] + '</br>');
    ptworkinfo.type="checkbox";
    ptworkinfo.id="ptworkinfo" + count;
    residence.appendChild(ptworkinfo);
    }

答案 3 :(得分:0)

首先创建类型为input的元素。然后将其类型属性设置为复选框。可以通过以下两种方式中的任何一种来完成。

const checkBox = document.createElement('input')
checkBox.type = 'checkbox'

还可以使用setAttribute函数设置属性。第一个参数指出要更新的属性。这里的type属性更新为复选框的类型。

checkBox.setAttribute('type','checkbox')