我试图在每次单击一个单选按钮时获取隐藏输入字段的值。我刚刚发布了一个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>
答案 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);
}