2013-01-14 43 views
0

這裏是新手。我試圖在一個窗體上顯示多個多個問題,多選答案顯示爲單選按鈕。用戶應該能夠爲每個問題選擇一個答案(放射按鈕)。HTML - PHP在表單中有多個選擇題,只能選擇一個單選按鈕。

我的問題是,一旦我顯示問題和答案,我只能選擇一個單選按鈕(不是每個問題)。在下面的代碼中,qid是問題Id,aid是答案Id。對於從數據庫中檢索的每個問題,單選按鈕組將獲得分配給該名稱的問題編號。

例如:問題1有4個多選答案,名稱= 1,問題2有4個多選答案,名稱= 2等等。

因此,當用戶選擇問題1的答案並選擇問題2的答案時,問題1的選定答案被清除。

<body style="margin: 100px;"> 
    <?php foreach ($questions as $question) : ?> 
     <small>(<?php echo $question['qid']; ?>)</small> 
     <strong><?php echo $question['qdesc']; ?></strong> 

     <ol> 
      <?php foreach ($answers[$question['qid']] as $answer) : ?> 
       <li><label><input type="radio" name=$question['qid'] value=$answer['aid']><?php echo $answer['adesc']; ?></label></li>    
      <?php endforeach; ?> 
     </ol> 
    <?php endforeach; ?> 
</body> 
+1

一般是看你的PHP正在產生HTML頁面是一個好主意,而不是僅僅在PHP(使用對應於輸入屬性[ID]「查看源文件「在你的瀏覽器中)。在這種情況下,它可能會使錯誤相當明顯。 – octern

+0

我沒有想過這個。在發佈之前下次會看到源代碼。謝謝, –

回答

1

你的單選按鈕名稱有缺失的打開和關閉PHP標籤(也缺少引號)PHP代碼:

<li><label><input type="radio" name="q_<?php echo $question['qid']; ?>" value="<?php echo $answer['aid']; ?>"><?php echo $answer['adesc']; ?></label></li>    

您可能還需要包括一個前綴(如上),使這些名字不僅僅是數字。

因爲您的收音機組都具有相同的名稱,這意味着它們都被視爲一個組,因此只能讓您選擇一個。

+0

MrCode - 你的建議奏效。謝謝。 –

1

作爲上述答案的一小部分。

<li> 
<label for="qid_<?php echo $question['qid']; ?>"> 
<input type="radio" id="qid_<?php echo $question['qid']; ?>" name="q_<?php echo $question['qid']; ?>" value="<?php echo $answer['aid']; ?>"> 
<?php echo $answer['adesc']; ?> 
</label> 
</li> 

現在您可以在標籤中輸入後單擊文本並單選按鈕將被選中。

標籤屬性[供]內它

+1

Frankey,我在標籤中包含了「輸入類型.....」。他們似乎都以同樣的方式工作。謝謝。 –

相關問題