2013-08-12 26 views
0

我試圖在單擊單選按鈕時獲取隱藏輸入字段的值。我剛剛發佈了一個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
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> 
0
var $hidden=$(el).siblings("input[type='hidden']"); 

順便說一句,你有很多與相同ID的元素,也不好

0

你可以得到隱藏元素的值它的ID。

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

您可以隱藏功能

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

使用這個也許你可以嘗試刪除完全隱藏的輸入,並指示使用數據 - *屬性的正確答案。喜歡的東西:

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

然後在你的checkResult功能,你可以檢索使用

function checkResult(el) 
{ 
    $this=$(el).parent("div.QA"); 
    var answer = $this.data("answer"); 
    $this.slideUp(); 
} 
+0

這個值的問題是,即使在這裏的時候,有人右點擊和查看源代碼的答案將是可見的 – TaraGurung

+0

如果您希望阻止人們查看您需要在服務器上保密的答案,並測試每個通過AJAX調用給出的答案。 :) – Splendiferous

相關問題