动态选择单选按钮

Select a radio button dynamically

本文关键字:单选按钮 选择 动态      更新时间:2023-09-26

我需要动态地选择一个单选按钮。

i)我动态地创建了几个单选按钮,即在一个函数中使用:

function funcName()
{
    Something.innerHTML = '<input type = "radio" name = "rName" id = "1" />' + '<input   type = "radio" name = "rName" id = "2" />' + '<input type = "radio" name = "rName" id = "3" />';
}
ii)我需要在另一个函数中动态地选择一个单选按钮:

function funcNAme(someVar)
{
    document.getElementById(someVar).checked = true;
}

但这不起作用,即单选按钮没有被选中。然而,"disabled"可以正常工作。还:

alert(someVar); 

返回所需的值。

语法如下:

element.checked = true;

所以你需要使用

document.getElementById(someVar).checked = true;

看这里-> htmlputelement

工作示例-> http://jsfiddle.net/p5yca/

请不要使用数字作为元素的id -> http://www.w3.org/TR/html401/types.html#type-name

似乎工作良好:

function checkRadio(id) {
    document.getElementById(id).checked = true;
}
function createRadios()
{
    document.getElementById('container').innerHTML = '<input type = "radio" name = "rName" id = "1" />' + '<input   type = "radio" name = "rName" id = "2" />' + '<input type = "radio" name = "rName" id = "3" />';
}
createRadios();
checkRadio("2");

示例- http://jsfiddle.net/infernalbadger/LHyQT/2/

您将checked属性设置在innerHTML属性上,而不是DOM元素本身;这应该能奏效:

document.getElementById("id").checked = true;