<?php while($row = mysqli_fetch_array($result)): ?>
<tr>
<td><?php echo $row['mapid'] ?></td>
<td><button id="m" type="button" value="<?php echo $row['map'] ?>" onclick="ready()">ddd</button></td>
</tr>
<?php endwhile;?>
</table>
<iframe id="k" src="" width="600" height="450" frameborder="0" style="border:0;" allowfullscreen="" aria-hidden="false" tabindex="0"></iframe>
<script>
function ready() {
var x = document.getElementById('m').getAttribute('value');
var y = "https://www.google.com/maps/embed?pb=";
var z = y + x;
alert(z);
document.getElementById("k").src = z;
}
</script>
我确实点击按钮打开谷歌地图,它工作正常,但它从第一行获得值,因为id是相同的,请帮助
您可以在ready()
中使用this
上下文。
<?php while($row = mysqli_fetch_array($result)): ?>
<tr>
<td><?php echo $row['mapid'] ?></td>
<td><button type="button" value="<?php echo $row['map'] ?>" onclick="ready.call(this)">ddd</button></td>
</tr>
<?php endwhile;?>
</table>
<iframe id="k" src="" width="600" height="450" frameborder="0" style="border:0;" allowfullscreen="" aria-hidden="false" tabindex="0"></iframe>
<script>
var ready = function() {
var y = "https://www.google.com/maps/embed?pb=";
var z = y + this.value;
alert(z);
document.getElementById("k").src = z;
}
</script>