单击 while 循环中的输入字段时如何显示文本?

How can I display text when a input field from a while loop is clicked?

我想要的是当我单击输入字段以在 input.I 下方显示 div 时设法显示 div 和 javascript,但它只有效对于循环的第一个输入。 如何为单击的每个输入显示 div ? 谢谢!

    <script>
                function showDiv() {
       document.getElementById('div_to_show').style.display = "block";
    }
    </script>
<php
while($row = $query->fetch_assoc()){
?>
    <div id="div_to_show"  style="display:none;"><a href="#">LINK</a></div>
    <input type="text" name="name" value="<?php$row_['name'];?>" onclick="showDiv()"/>
<?php
}
?>

元素 ID 必须是唯一的。如果你使用函数getElementById,它只会找到一个元素。试试这个代码:

    <script>
                function showDiv(i) {
       document.getElementById('div_to_show'+i).style.display = "block";
    }
    </script>
<php
$i=0;
while($row = $query->fetch_assoc()){
?>
    <div id="div_to_show<?php echo $i;?>"  style="display:none;"><a href="#">LINK</a></div>
    <input type="text" name="name" value="<?php$row_['name'];?>" onclick="showDiv(<?php echo $i;?>)"/>
<?php
$i++;
}
?>

这样您的 div 将具有 ID div_to_show0、div_to_show1 等