首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >动态地,用for循环检查单选按钮。

动态地,用for循环检查单选按钮。
EN

Stack Overflow用户
提问于 2015-11-01 16:35:00
回答 2查看 1.5K关注 0票数 0

我想创造一个五星级的无线电选择器。

这是单选按钮中的一个:

代码语言:javascript
运行
复制
<input onclick="check(3)" type="radio" name="three" id="num_3_star" value="3">

在调用该方法并传递"3“之后,这是我的javascript函数:

代码语言:javascript
运行
复制
function check(stars)
{
    for(i = 0 ; i < stars; i++)
    {       
        document.getElementById("num_" + stars + "_star").checked = true;
    }   
}

当我运行代码时,它不会执行选中的to = true,尽管如果删除for循环,它就能正常工作。

知道为什么for循环会阻止检查无线电盒吗?

这是我的全部代码:

代码语言:javascript
运行
复制
<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>

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-01 16:44:51

i最初必须是1,因为ids是从1开始的 还重置所有的checked状态时,点击是启动!在i中使用stars而不是stars

试试这个:

代码语言:javascript
运行
复制
function check(stars) {

  for (var j = 1; j <= 5; j++) {
	document.getElementById("num_" + j + "_star").checked = false;
  }
  for (var i = 1; i <= stars; i++) {
    document.getElementById("num_" + i + "_star").checked = true;
  }
}
代码语言:javascript
运行
复制
<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">

票数 2
EN

Stack Overflow用户

发布于 2015-11-01 16:42:47

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33464471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档