动态选择一个单选按钮
我需要动态选择一个单选按钮。动态选择一个单选按钮
ⅰ)我已经使用创建几个单选按钮动态地,即,在一个功能:
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" />';
}
ⅱ)我需要动态选择单选按钮,在另一种功能:
function funcNAme(someVar)
{
document.getElementById(someVar).checked = true;
}
但这不起作用,即单选按钮没有被选中。但是,“禁用”正常工作。 另外:
alert(someVar);
返回适当的期望值。
的语法如下:
element.checked = true;
所以你需要使用
document.getElementById(someVar).checked = true;
看到这里 - >HTMLInputElement
工作实例 - >http://jsfiddle.net/p5yca/
并请请不要使用数字作为元素的ID - >http://www.w3.org/TR/html401/types.html#type-name
对不起,这是一个错字。 –
那么它在我的例子中工作正常 - 什么浏览器失败?你怎么触发这个功能?你得到什么错误? – ManseUK
使用ff。不一定会激发一个功能。定义一个创建单选按钮的函数。使用另一个功能来选择它。实际上不是一个错误,单选按钮没有被选中 –
似乎很好地工作:
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");
对不起,这是一个错字。 –
@ElClassico我已经更新了小提琴,所以它几乎与你的例子相同,它工作正常。你使用的是什么浏览器? (我测试了铬,ff和ie8,它工作正常) –
使用ff。是因为我动态创建按钮,我遇到这个错误? –
你设置checked
属性上innerHTML
属性,而不是DOM元素本身;这应该做的伎俩:
document.getElementById("id").checked = true;
对不起,这是一个错字。 –
你的函数应该是工作的罚款... [查看这个示例](http://jsfiddle.net/2dmSz/1/) – Teneff
这可能与我的第二个评论我的答案 - 关于将ID设置为数字 - 不是一种好的做法并且无效 – ManseUK