Javascript 单击单选按钮后如何获取此处隐藏字段的值

Javascript 单击单选按钮后如何获取此处隐藏字段的值,javascript,jquery,Javascript,Jquery,我试图在每次单击单选按钮时获取隐藏输入字段的值。我刚刚发布了一个div。我有一个具有相同结构的多个div。我已成功获取单选按钮的值,但我现在想获取隐藏输入的值 <div class="QA"> <h1> First Question</h1> <input type="radio" id="check" name="q" value="A">Options 1</input> <input type="ra

我试图在每次单击单选按钮时获取隐藏输入字段的值。我刚刚发布了一个div。我有一个具有相同结构的多个div。我已成功获取单选按钮的值,但我现在想获取隐藏输入的值

<div class="QA">
    <h1> First Question</h1>
    <input type="radio" id="check" name="q" value="A">Options 1</input>
    <input type="radio" id="check" name="q" value="B">Options 2</input>
    <input type="radio" id="check" name="q" value="C">Options 3</input>
    <input type="radio" id="check" name="q" value="D">Options 4</input>
    <input type="hidden" id="result" value="B" />
    <br/>
    <div id="result"></div>
</div>       
<script>
    $(document).ready(function() {
        $("input:radio").change(function() {
            checkResult(this);
        }); 
    });
    function checkResult(el)
    {   
        $this=$(el).parent("div.QA");
        $this.slideUp();       
    }    
</script>

第一个问题
备选方案1
选择2
备选方案3
选择4

$(文档).ready(函数(){ $(“输入:收音机”).change(函数(){ 检查结果(本); }); }); 功能检查结果(el) { $this=$(el.parent(“div.QA”); $this.slideUp(); }
顺便说一句,你有很多相同ID的元素,不是很好

function checkResult(el)
{   
    $this = $(el).parents("div.QA");
    $this.slideUp();       
    var x = $this.find('#result').val(); //find value of hidden field in parent div
}  
顺便说一句,你有很多相同ID的元素,不是很好

function checkResult(el)
{   
    $this = $(el).parents("div.QA");
    $this.slideUp();       
    var x = $this.find('#result').val(); //find value of hidden field in parent div
}  
更改标记

不应使用多个
id
。改用
class

<input type="radio" id="check" name="q" value="A">Options 1</input>
选项1

选项1
更改标记

不应使用多个
id
。改用
class

<input type="radio" id="check" name="q" value="A">Options 1</input>
选项1

选项1

您可以通过隐藏元素的id获取其值

var hiddenValue = $("#result").val();
您可以在隐藏函数中使用此选项

function checkResult(el)
{
    var hiddenValue = $("#result").val();
    alert(hiddenValue);
}

您可以通过隐藏元素的id获取其值

var hiddenValue = $("#result").val();
您可以在隐藏函数中使用此选项

function checkResult(el)
{
    var hiddenValue = $("#result").val();
    alert(hiddenValue);
}

也许您可以尝试完全删除隐藏的输入,并使用data-*属性指示正确的答案。比如:

<div class="QA" data-answer="B">

也许您可以尝试完全删除隐藏的输入,并使用data-*属性指示正确的答案。比如:

<div class="QA" data-answer="B">

问题甚至在这里,当有人右键单击并查看源代码时,答案将是可见的。如果您想阻止人们查看答案,您需要在服务器上对答案保密,并使用AJAX调用测试给出的每个答案。:)问题甚至在这里,当有人右键单击并查看源代码时,答案将是可见的。如果您想阻止人们查看答案,您需要在服务器上对答案保密,并使用AJAX调用测试给出的每个答案。:)