【发布时间】:2014-11-09 23:03:54
【问题描述】:
我基本上是在做一个 10 个问题的测验。我知道有很多方法可以做到这一点,并且有很多关于如何获取输入单选按钮值的答案,但我就是想不通!我将 Foundation 5 的 Abide Validation 用于“required”属性和“on('valid.fndtn.abide')”,这只是确保现在选择了答案。
HTML
<h2>Choose one answer:</h2>
<div class="radio">
<div class="input-radio"><input type="radio" name="question_10" value="Wrong" id="option_37" required><label for="option_37">Answer 37</label></div>
<div class="input-radio"><input type="radio" name="question_10" value="Wrong" id="option_38" required><label for="option_38">Answer 38</label></div>
<div class="input-radio"><input type="radio" name="question_10" value="Wrong" id="option_39" required><label for="option_39">Answer 39</label></div>
<div class="input-radio"><input type="radio" name="question_10" value="Correct" id="option_40" required><label for="option_40">Answer 40</label></div>
</div>
我现在拥有的Javascript(没有其他东西)。现在即使我选择了正确的答案,这也会返回“否”。如果我将所有答案都设为“正确”,它将返回“是”。
$(document).ready(function(){
$('.form-prepare').on('valid.fndtn.abide', function(e) {
var answer10 = $("input[name='question_10']").val();
if (answer10 === "Correct") { alert("Yes!"); }
else { alert("No!");
e.preventDefault();
});
});
编辑:删除了问题的第二部分,因为我认为它本身可能是它自己的问题。根据答案,我错过了输入变量的 :checked 部分。谢谢!
【问题讨论】:
-
我觉得您的问题更像是“帮助我构建我的功能”,而不是任何明确的问题。除了“帮助我让它工作”之外,有没有可以为您回答的具体问题?
-
请注意,我只回答了下面问题的第一部分(正确获取单选按钮的值)。第二部分(使这个代码足够模块化以处理更多问题)应该(在我看来)是一个单独的问题,一旦你尝试自己解决它。作为您的引导,尝试查看 jQuery 的
.each()方法,并枚举您的.radiodiv,获取其中选中的单选按钮的值并将其推送到数组。 -
这很有帮助。谢谢!
标签: javascript jquery html forms radio-button