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

时间:2013-08-12 09:25:27

标签: 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="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>

4 个答案:

答案 0 :(得分:2)

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

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

然后在checkResult函数中,您可以使用

检索此值
function checkResult(el)
{   
    $this=$(el).parent("div.QA");
    var answer = $this.data("answer");
    $this.slideUp();
}

答案 1 :(得分:1)

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>

<input type="radio" class="check" name="q" value="A">Options 1</input>

答案 2 :(得分:0)

var $hidden=$(el).siblings("input[type='hidden']");

顺便说一句,你有很多具有相同ID的元素,不是很好

答案 3 :(得分:0)

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

var hiddenValue = $("#result").val();

您可以在隐藏功能中使用它

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