循环中document.getElementById的结果保持不变

时间:2015-10-09 19:12:55

标签: javascript php html

<?php for($i=0; $i< mysqli_num_rows($result); $i++){  ?>

<table id="t01" style="width:100%">
<tr>
<th colspan="2"><?php print_r($results[$i]['arr_question']); ?></th>
  </tr>
  <tr>
    <td><?php print_r($results[$i]['a']); ?></td>
    <td><?php print_r($results[$i]['b']); ?></td>
  </tr>
  <tr>
    <td><?php print_r($results[$i]['c']); ?></td>
    <td><?php print_r($results[$i]['d']); ?></td>
  </tr>
  <tr> 
  <td colspan="2"><button type="button" onClick="document.getElementById('').innerHTML= '<?php print_r($results[$i]['answer']); ?>'"> Answer </button>
  <p id=''></p>
  </td>
  </tr>
  <tr> <td colspan="2"><?php print_r($results[$i]['description']); ?></td>
  </tr>
</table>
</br>
<?php } ?>

在这段代码中document.getElementById('').innerHTML工作不正常,它在循环中单击按钮时返回相同的值,当我把id等于$i时,它在每个循环中返回相同位置的值,它覆盖相同位置的数据,当我输入任何静态值时,它返回相同的数据。我该怎么做才能在不同的地方获得不同的价值。任何帮助都会很明显。

1 个答案:

答案 0 :(得分:1)

您不能拥有空ID,请按以下方式分配ID:

 <p id='p-<?php echo $i; ?>'></p>

在查询选择器中使用如下:

<button type="button" onClick="document.getElementById('p-<?php echo $i; ?>').innerHTML= '<?php print_r($results[$i]['answer']); ?>'"> Answer </button>