0

ここの初心者。ラジオボタンとして複数の選択肢の回答が表示されたフォームに、複数の複数の質問を表示しようとしています。ユーザーは、質問ごとに1つの回答(ラジオボタン)を選択できる必要があります。

私の問題は、質問と回答を表示すると、フォームで1つのラジオボタンしか選択できないことです(質問ごとではありません)。以下のコードでは、qidは質問IDであり、aidは回答IDです。データベースから取得された質問ごとに、ラジオボタングループは名前に割り当てられた質問番号を取得します。

例:質問1には名前= 1の4つの多肢選択式の回答があり、質問2には名前=2の4つの多肢選択式の回答があります。

したがって、ユーザーが質問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>
4

2 に答える 2

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>               

名前が単なる数字ではないように、(上記のように)プレフィックスを含めることもできます。

ラジオグループはすべて同じ名前だったので、それはすべて単一のグループとして扱われ、1つしか選択できないことを意味しました。

于 2013-01-14T17:48:27.710 に答える
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> 

これで、ラベルに入力した後のテキストをクリックすると、ラジオボタンが選択されます。

その中の入力属性[id]に対応するラベル属性[for]

于 2013-01-14T18:29:24.030 に答える