2014-01-22 53 views
0

我有一個包含超過100個問題的調查,其中有單選按鈕或文本框。jquery從單選按鈕和文本框中獲取數據

我想出瞭如何從單選按鈕中得到結果,但我無法從文本框中得到結果,與單選按鈕相同的結果變量名爲temp。

我使用下面的代碼從單選按鈕中獲取結果。

if($questions.find("input:radio:checked").length === $questions.length) 
{ 
    var temp =''; 

    $(':radio').each(function() 
    { 
     if($(this).is(':checked')) 
      { 
      temp += $(this).val()+ ","; 
     } 
     }); 

     var currentSurveyName = getQueryVariable("sn"); 
     var strResult = temp; 

     window.location="survey-result.php?sn=" + currentSurveyName + "&sr=" + strResult; 
     } 
     else 
     { 
      alert("Need to check all radiobuttons"); 
     } 

而且我的表單代碼是這樣產生的:提前

<div class='aQuestion' id='div1'> 
<h3>question 1</h3> 
<label for='a108'><input type='radio' id='a108' name='grp108' value='0'><span class='answerOption'>0. Answer</span></br></label> 
<label for='b108'><input type='radio' id='b108' name='grp108' value='1'><span class='answerOption'>1. Answer</span></br></label> 
<label for='c108'><input type='radio' id='c108' name='grp108' value='2'><span class='answerOption'>2. Answer</span></br></label> 
<label for='d108'><input type='radio' id='d108' name='grp108' value='3'><span class='answerOption'>3. Answer</span></br></label> 
<label for='e108'><input type='radio' id='e108' name='grp108' value='4'><span class='answerOption'>4. Answer</span></label> 
</div> 

<div class='aQuestion' id='div2'> 
<h3>question 2</h3> 
<label for='a110'><input type='radio' id='a110' name='grp110' value='0'><span class='answerOption'>0. Answer</span></br></label> 
<label for='b110'><input type='radio' id='b110' name='grp110' value='1'><span class='answerOption'>1. Answer</span></br></label> 
<label for='c110'><input type='radio' id='c110' name='grp110' value='2'><span class='answerOption'>2. Answer</span></br></label> 
<label for='d110'><input type='radio' id='d110' name='grp110' value='3'><span class='answerOption'>3. Answer</span></br></label> 
<label for='e110'><input type='radio' id='e110' name='grp110' value='4'><span class='answerOption'>4. Answer</span></label> 
</div> 

<div class='aQuestion' id='div3'> 
<h3>question 3</h3> 
<input type='text' class='inputField' id='a113' name='grp113'>cm 
</div> 

<div class='aQuestion' id='div4'> 
<h3>question 4</h3> 
<input type='text' class='inputField' id='a114' name='grp114'>kg 
</div> 

感謝:如果您需要了解更多信息/碼D告訴我。

如果我想檢查文本框,如檢查下面的單選按鈕,該怎麼辦。代碼看起來如何?

$('.aQuestion').each(function() 
     { 
      if($(this).find('input[type="radio"]:checked').length > 0) 
      { 
       $(this).addClass("madeChoice"); 
      } 
      else 
      { 
       $(this).children("h3").addClass("didntMakeChoice");     
      } 

     }); 

回答

0

這就是你有電臺:

$(':radio').each(function() 
{ 
    if($(this).is(':checked')) 
    { 
     temp += $(this).val()+ ","; 
    } 
}); 

,並簡單地將其更改爲

$(':text').each(function() 
{ 
    if($(this).val() !== "") 
    { 
     temp += $(this).val() + ","; 
    } 
}); 
+0

輝煌,實際工作!我使用下面的代碼遍歷它們,看看是否檢查了單選按鈕。 (我更新了我的問題) – RedHawkDK

+0

我爲我的第一個問題添加了一點點遮掩。如果有人有時間看看它? :d – RedHawkDK

相關問題