使用JavaScript动态创建复选框?

San*_*iri 40 html javascript checkbox

我正在尝试使用以下HTML/JavaScript动态创建一个复选框.任何想法为什么它不起作用?

<div id="cb"></div>
<script type="text/javascript">
    var cbh = document.getElementById('cb');
    var val = '1';
    var cap = 'Jan';

    var cb = document.createElement('input');
    cb.type = 'checkbox';
    cbh.appendChild(cb);
    cb.name = val;
    cb.value = cap;
    cb.appendChild(document.createTextNode(cap));
</script>
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 102

您正在尝试将文本节点放在input元素中.

输入元素为空,不能有子项.

...
var checkbox = document.createElement('input');
checkbox.type = "checkbox";
checkbox.name = "name";
checkbox.value = "value";
checkbox.id = "id";

var label = document.createElement('label')
label.htmlFor = "id";
label.appendChild(document.createTextNode('text for label after checkbox'));

container.appendChild(checkbox);
container.appendChild(label);
Run Code Online (Sandbox Code Playgroud)

  • 请注意,在IE的某些版本中,checkbox.checked值不会粘住,除非您在控件被附加到页面后设置它. (6认同)