Javascript 动态地检查带有for循环的单选按钮

Javascript 动态地检查带有for循环的单选按钮,javascript,html,Javascript,Html,我正在尝试创建一个五星无线电选择器 这是其中一个单选按钮: <input onclick="check(3)" type="radio" name="three" id="num_3_star" value="3"> 调用方法并传递“3”后,这是我的javascript函数: function check(stars) { for(i = 0 ; i < stars; i++) { document.getElementByI

我正在尝试创建一个五星无线电选择器

这是其中一个单选按钮:

<input onclick="check(3)" type="radio" name="three" id="num_3_star" value="3">

调用方法并传递“3”后,这是我的javascript函数:

function check(stars)
{
    for(i = 0 ; i < stars; i++)
    {       
        document.getElementById("num_" + stars + "_star").checked = true;
    }   
}
功能检查(星形)
{
对于(i=0;i
当我运行代码时,它不会执行checkedto=true,但是如果删除for循环,它就可以正常工作

你知道为什么for循环会阻止你检查收音机吗

这是我的全部代码:

<script>
function check(stars)
{
    for(i = 0 ; i < stars; i++)
    {       
        document.getElementById("num_" + stars + "_star").checked = true;
    }   
}
</script>

<form>
<input onclick="check(1)" type="radio" name="one" id="num_1_star" value="1">
<input onclick="check(2)" type="radio" name="two" id="num_2_star" value="2">
<input onclick="check(3)" type="radio" name="three" id="num_3_star" value="3">
<input onclick="check(4)" type="radio" name="four" id="num_4_star" value="4">
<input onclick="check(5)" type="radio" name="five" id="num_5_star" value="5">
</form>

功能检查(星号)
{
对于(i=0;i

谢谢

var
放在迭代变量
i
之前。您正在创建一个全局变量。

var
放在迭代变量
i
之前。您正在创建一个全局变量。

var
放在迭代变量
i
之前。您正在创建一个全局变量。

var
放在迭代变量
i
之前。您正在创建一个全局变量

i
最初必须是1,因为
id
是从1开始的

当单击启动时,还将重置所有选中的
状态!在
getElementById

试试这个:

功能检查(星形){
对于(var j=1;j
i
最初必须是1,因为
id
是从1开始的

当点击启动时,也重置所有选中的
状态!使用
i
代替
getElementById
中的
stars

试试这个:

功能检查(星形){
对于(var j=1;j
i
最初必须是1,因为
id
是从1开始的

当点击启动时,也重置所有选中的
状态!使用
i
代替
getElementById
中的
stars

试试这个:

功能检查(星形){
对于(var j=1;j
i
最初必须是1,因为
id
是从1开始的

当点击启动时,也重置所有选中的
状态!使用
i
代替
getElementById
中的
stars

试试这个:

功能检查(星形){


对于(var j=1;j,单选按钮的名称必须相同。。单选按钮不是这里的理想元素!更改名称没有帮助。我使用单选按钮是为了编程。:)我相信还有很多其他方法可以做到这一点。你能提供一个小提琴或你的整个代码吗?它们的单选按钮必须有相同的名称。单选按钮不是这里的理想元素!更改名称没有帮助。我使用单选按钮是为了编程。:)我相信还有很多其他方法可以做到这一点。你能提供一个小提琴或你的整个代码吗?它们的单选按钮必须有相同的名称。单选按钮不是这里的理想元素!更改名称没有帮助。我使用单选按钮是为了编程。:)我相信还有很多其他方法可以做到这一点。你能提供一个小提琴或你的整个代码吗?它们的单选按钮必须有相同的名称。单选按钮不是这里的理想元素!更改名称没有帮助。我使用单选按钮是为了编程。:)我相信还有很多其他的方法可以做到这一点。你能提供一个小提琴或你的整个代码吗?太好了!这是mas的问题…它被初始化为0,应该是1。谢谢兄弟:)+感谢我丢失的额外代码。我想自己解决它,但哦,哈哈哈。我只是在我完全筋疲力尽的时候在这里发布预计起飞时间xD@MichaelOrtiz,同样关键的是,在document.getElementById(“num_”+i+“_star”)中,将参数作为“i”而不是“stars”传递哦,哈哈哈,糟糕透了。这是主要原因。我现在感觉好笨。感谢hintPerfect!这是mas的问题…它被初始化为0,应该是1。感谢兄弟:)+感谢我丢失的额外代码。我想自己解决它,但哦,哈哈哈。我只是在我完全筋疲力尽的时候发布在这里xD@MichaelOrtiz,同样关键的是,在document.getElementById(“num_“+i+”star”)中,将参数作为“i”而不是“stars”传递哦,哈哈哈,糟糕透了。这是主要原因。我现在感觉好笨。感谢hintPerfect!这是mas的问题…它被初始化为0,应该是1。感谢兄弟:)+感谢我丢失的额外代码。我想自己解决它,但哦,哈哈哈。我只是在我完全筋疲力尽的时候发布在这里xD@MichaelOrtiz,同样关键的是,在document.getElementById(“num_“+i+”star”)中,将参数作为“i”而不是“stars”传递哦,哈哈哈,糟糕透了。这是主要原因。我现在感觉好笨。感谢hintPerfect!这是mas的问题…它被初始化为0,应该是1。感谢兄弟:)+感谢我丢失的额外代码。我想自己解决它,但哦,哈哈哈。我只是在我完全筋疲力尽的时候发布在这里xD@MichaelOrtiz,同样关键的是,在文档中将参数作为'i'而不是'stars'传递。getElementById(“num_“+i+“star”)哦,哈哈哈,糟糕透了。这是主要原因。我现在感觉很傻。谢谢你的提示