我使用以下php代码使用<ol>
标记呈现不同的选项。一切都很好,除了<ol>
每个选项显示1。
<ol>
<li>
<h3><?php echo $question ?></h3>
<div>
<input type="radio" name="question[<?php echo $id ?>]"
id = "php " value="<?php echo $answer1 ?>" />
<label for = "php"> <?php echo $answer1 ?></label>
</div>
<div>
<input type="radio" name="question[<?php echo $id ?>]"
id = "php" value="<?php echo $answer2 ?>" />
<label for = "php"><?php echo $answer2 ?><label>
</div>
<div>
<input type="radio" name="question[<?php echo $id ?>]"
id = "php" value="<?php echo $answer3 ?>" />
<label for = "php"><?php echo $answer3 ?></label>
</div>
<div>
<input type="radio" name="question[<?php echo $id ?>]"
id = "php" value="<?php echo $answer4 ?>" />
<label for = "php"><?php echo $answer4 ?></label>
</div>
</li>
</ol>
答案 0 :(得分:1)
每个编号的列表项都必须有一个单独的<li>
标记。
所以你的标记看起来应该是这样的:
<h3><?php echo $question ?></h3>
<ol>
<li>
<input type="radio" name="question[<?php echo $id ?>]" id="php<?=$answerId1?>" value="<?php echo $answer1 ?>" />
<label for="php<?=$answerId1?>">
<?php echo $answer1 ?>
</label>
</li>
<li>
<input type="radio" name="question[<?php echo $id ?>]" id="php<?=$answerId2?>" value="<?php echo $answer2 ?>" />
<label for="php<?=$answerId2?>">
<?php echo $answer2 ?>
</label>
</li>
<li>
<input type="radio" name="question[<?php echo $id ?>]" id="php<?=$answerId3?>" value="<?php echo $answer3 ?>" />
<label for="php<?=$answerId3?>">
<?php echo $answer3 ?>
</label>
</li>
<li>
<input type="radio" name="question[<?php echo $id ?>]" id="php<?=$answerId4?>" value="<?php echo $answer4 ?>" />
<label for="php<?=$answerId4?>">
<?php echo $answer4 ?>
</label>
</li>
</ol>
P.S 我还注意到您在所有无线电输入上使用相同的id
属性。它不是有效的HTML,因为元素ID should be unique。
P.S2 此外,您手动打印列表中的每个问题的方法看起来并不实用。我会尝试这样的事情:
<ol>
<?php foreach($answers as $answer): ?>
<li>
<label>
<input type="radio"
name="question[<?=$id ?>]"
value="<?=$answer?>" />
<?=$answer?>
</label>
</li>
<?php endforeach; ?>
</ol>
答案 1 :(得分:0)
试试这段代码:
<h3><?=$question?></h3>
<ol>
<li>
<label>
<input type="radio" name="question[<?=$id?>]" value="<?=$answer1?>" />
<?=$answer1?>
</label>
</li>
<li>
<label>
<input type="radio" name="question[<?=$id?>]" value="<?=$answer2?>" />
<?=$answer2?>
</label>
</li>
<li>
<label>
<input type="radio" name="question[<?=$id?>]" value="<?=$answer3?>" />
<?=$answer3?>
</label>
</li>
<li>
<label>
<input type="radio" name="question[<?=$id?>]" value="<?=$answer4?>" />
<?=$answer4?>
</label>
</li>
</ol>
代码问题:
id="php"
,因为id
必须是唯一的!id
的{{1}}而添加了label
,那么您可以删除它们,只需将for
放在input
内}}。label
快捷语法:echo
代替<?=$id?>
。