【问题标题】:Label not working for checkbox when Iterator used for naming checkbox当迭代器用于命名复选框时,标签不适用于复选框
【发布时间】:2017-03-28 08:16:49
【问题描述】:

下面是我正在使用的代码。有人可以告诉我为什么它不适用于标签名称。

<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>

【问题讨论】:

  • 行有错字吗? name='checkbox'".$i. 与您为 . 所做的串联不匹配
  • 感谢 Eric,在包含迭代器之前,我确实关闭了 id 名称。我希望你能指出这一点。
  • 我说的是 echo " 而你的标签呈现 但我不是 php 人所以也许我误解了.
  • 是的,埃里克,你是对的,那是错误:/
  • 如果我将其发布为答案,您会将其标记为正确吗?

标签: php css sql


【解决方案1】:

为 id 而非 name 提供标签,请参见下面的代码:

<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,但它仍然是一样的。
【解决方案2】:

您应该使用 ID 属性而不是名称:

<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 而不是 name,但它仍然不起作用。上面的案例对你有用吗?
  • 已编辑:id='checkbox' ".$i." 必须是:id='checkbox".$i."'
【解决方案3】:

在您的代码中,复选框 ID 属性在 $i 变量之前丢失:

  echo "<input  type = 'checkbox' id='checkbox'".$i. " unchecked/>";

这一行给出了:

 <input  type = 'checkbox' id='checkbox'1 unchecked/>

【讨论】:

    【解决方案4】:

    我在 cmets 中询问了这个问题,看起来它解决了这个问题。看起来输入 HTML 行中只有一个小错字。

    &lt;input type = 'checkbox' id='checkbox'".$i. " unchecked/&gt;

    应该是:

    &lt;input type='checkbox' id='checkbox".$i."' unchecked/&gt;

    这将匹配标签 HTML:

    &lt;label for='checkbox".$i."'&gt;" . $row['p_name'] . "&lt;/label&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-14
      • 2019-10-12
      • 2013-06-18
      • 1970-01-01
      • 1970-01-01
      • 2014-09-13
      • 1970-01-01
      相关资源
      最近更新 更多