2017-03-23 51 views
0

下面是我正在使用的代碼。有人能讓我知道爲什麼它不與標籤名稱一起工作。當Iterator用於命名複選框時,標籤不能用於複選框

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

是否有在行一個錯字? name ='checkbox'「。$ i。與你正在做的。 –

+0

不一樣的連接感謝Eric,在包含迭代器之前,我確實關閉了id名稱,希望你指出 –

+0

我在說的是,echo「與你標記哪個呈現但我不是一個PHP的人,所以也許我誤解了 –

回答

0

的標籤給出了一個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>"; 
+0

我確實使用了id而不是name,但它仍然是一樣的。 –

0

您應該使用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++; 
    } 
?> 

+0

我的確使用了id而不是name,但它仍然不起作用。上述情況是否在您的結尾? –

+0

Edite d:id ='checkbox'「。$ i。 「必須是:id ='checkbox」。$ i。 「」 –

0

在你的代碼,複選框ID屬性之前遊離缺失$變量i:

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

此行給的是:

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

我問的意見問題,它看起來像解決了這個問題。它看起來像輸入HTML行中只有一個小錯字。

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

應該是:

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

這將符合該標籤的HTML:

<label for='checkbox".$i."'>" . $row['p_name'] . "</label>