下面是我正在使用的代码。有人可以让我知道为什么它不适用于标签名称。
<div class="modal-body">
<?php
$batsmen=mysqli_query($con,$sql1);
$i = 1;
while ($row = mysqli_fetch_array($batsmen)) {
echo"<div class='checkbox checkbox-primary' style='margin-left:20px;'>";
echo "<input type = 'checkbox' id='checkbox'".$i. " unchecked/>";
echo "<label for='checkbox".$i."'>" . $row['p_name'] . "</label>";
echo "</div>";
$i++;
}
?>
</div>
id 而不是名称提供标签,请参见以下代码:
<input type = 'checkbox' id="x1" unchecked/>
<label for="x1">SAMPLE TEXT</label>
将代码更改为:
echo "<input type = 'checkbox' id='element-".$i."' name='checkbox'".$i." unchecked/>";
echo "<label for='element-".$i."'>" . $row['p_name'] . "</label>";
你应该使用 ID 属性而不是 name :
<div class="modal-body">
<?php
$batsmen=mysqli_query($con,$sql1);
$i = 1;
while ($row = mysqli_fetch_array($batsmen)) {
echo"<div class='checkbox checkbox-primary' style='margin-left:20px;'>";
echo "<input type = 'checkbox' id='checkbox".$i. "' unchecked/>";
echo "<label for='checkbox".$i."'>" . $row['p_name'] . "</label>";
echo "</div>";
$i++;
}
?>
在您的代码中,复选框 ID 属性在变量之前丢失$i
: echo "<input type = 'checkbox' id='checkbox'".$i. " unchecked/>";
这一行给出:
<input type = 'checkbox' id='checkbox'1 unchecked/>
我在关于这个问题的评论中问过,看起来它解决了这个问题。看起来输入 HTML 行中只有一个小错别字。
<input type = 'checkbox' id='checkbox'".$i. " unchecked/>
应该是:
<input type='checkbox' id='checkbox".$i."' unchecked/>
这将匹配标签 HTML:
<label for='checkbox".$i."'>" . $row['p_name'] . "</label>