【发布时间】:2013-11-26 19:30:59
【问题描述】:
我正在创建一个带有单选按钮的 html 表单的调查。
用户回答了 5 个问题,然后点击调用 javascript 的提交按钮,我想要一个循环从每个单选按钮中获取值,并将它们放在一个变量中。
我的问题是,我无法找出在名为 currentVal 的变量中使用“i”的正确方法。
我正在寻找的结果应该类似于一个变量:“val1, val5, val3, val1, val4”
在这方面完全是新的,所以如果你能保持答案不友好;)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$('#check').click(function()
{
for (var i=0; i < 5; i++)
{
var currentQuestion = i;
var currentVal = $("input:radio[name="+ i +"]:checked").val();
}
document.write(currentVal);
});
})
</script>
</head>
<body>
<form name="form" method="post" action="">
Question 1<br/>
<input type="radio" name="1" value="val1"/> Ans1
<input type="radio" name="1" value="val2"/> Ans2
<input type="radio" name="1" value="val3"/> Ans3
<br/><br/>
Question 2<br/>
<input type="radio" name="2" value="val1"/> Ans1
<input type="radio" name="2" value="val2"/> Ans2
<input type="radio" name="2" value="val3"/> Ans3
<br/><br/>
Question 3<br/>
<input type="radio" name="3" value="val1"/> Ans1
<input type="radio" name="3" value="val2"/> Ans2
<input type="radio" name="3" value="val3"/> Ans3
<br/><br/>
Question 4<br/>
<input type="radio" name="4" value="val1"/> Ans1
<input type="radio" name="4" value="val2"/> Ans2
<input type="radio" name="4" value="val3"/> Ans3
<br/><br/>
Question 5<br/>
<input type="radio" name="5" value="val1"/> Ans1
<input type="radio" name="5" value="val2"/> Ans2
<input type="radio" name="5" value="val3"/> Ans3
<input type="button" value="Test" id="check" />
</form>
</html>
【问题讨论】:
-
你的第一个问题是你的名字组是1,而你的索引从0开始。
-
你可以使用 jQuery .each 函数
-
您的第二个问题是范围。您在 for 循环中声明
currentVal,然后尝试在 for 循环之外使用它。 -
第三个问题是你在页面加载后使用
document.write()。 @David - 在循环中声明变量很麻烦,但它可以在包含函数的任何地方访问,因为 JavaScript 没有块范围...... -
@nnnnnn 真的吗?很高兴知道。这仍然是不好的做法,但很高兴知道。
标签: javascript php jquery html