因为要在页面上添加radio,写了下面的代码:
var layer = document.createElement("INPUT");
layer.name="Layer" layer.type = "radio";
layer.id = "xxx"
layer.value = "yyy";
dLayers.appendChild(layer);
结果后来发现radio不能选择,不管怎么点,都保持为初始化的时候选择的选项.后来网上搜了一下,才发现以下规律:当我们动态创建可包含Name属性的元素时,不能简单的使用赋值element.name = "..."来添加其Name,而必须在创建Element时,使用document.createElement('<element name = "myName"></element>')为元素添加Name属性.
上面的代码应该改为如下方式:
var layer = document.createElement("<INPUT name='Layer'/>");
layer.type = "radio";
layer.id = "xxx"
layer.value = "yyy";
dLayers.appendChild(layer);
注意,如果在jsp里面直接写标签的话,也是可行的
本文介绍了如何正确地使用JavaScript动态创建并设置radio按钮的方法。通过对比错误与正确的实现方式,详细解释了为何直接给元素赋值无法正常工作的原因,并提供了一个有效的解决方案。

被折叠的 条评论
为什么被折叠?



