[英]single id alerting same time in a while loop
我有一張桌子,我可以從那里取活動並顯示在桌子上……就像這樣
<table width="1000px;" style="border:0px;" >
<tr>
<?php
$sql_activities="select * from tb_activities";
$query_activities=mysql_query($sql_activities);
while($row_activities=mysql_fetch_array($query_activities))
{
?>
<td width="50">
<input type="radio" value="<?php echo $row_activities['activity_name']; ?>" name="activities" onclick="hi() " id="activities" /><?php echo " ".$row_activities["activity_name"]; ?></td>
<?php
}
?>
</tr>
</table>
現在,我將其應用於單選按鈕的onlick事件中,該函數的腳本為:
<script type="text/javascript">
function hi()
{
a = document.getElementById("activities").value;
alert(a);
}
</script>
我想提醒所選活動的名稱,但是當我單擊任何活動時,它都顯示相同的名稱。 第一次活動。即使我單擊了其他任何活動,任何人都可以幫助我嗎?
您應該做的是更改此:
onclick="hi()"
對此:
onclick="hi(this);
那么您的功能將是:
function hi(who) {
var a = who.value;
alert(a);
}
在PHP方面,事情發生了變化:
<td width="50"><input type="radio" value="<?php echo $row_activities['activity_name']; ?>" name="activities" onclick="hi() " id="activities" /><?php echo " ".$row_activities["activity_name"]; ?></td>
到:(您需要動態生成輸入/單選按鈕上的唯一標識並將其發送給JS)
<?php $i = 1; ?>
<td width="50"><input type="radio" value="<?php echo $row_activities['activity_name']; ?>" name="<?php echo $row_activities['activity_name'].$i; ?>" id ="<?php echo $row_activities['activity_name'].$i; ?>" onclick="hi("<?php echo $row_activities['activity_name'].$i; ?> ")" /></td>
<?php $i++; ?>
在Javascript中更改為:
function hi(elementID) {
var value = document.getElementById(elementID).value;
alert(value);
}
代碼可能會有一些轉義錯誤,但是從邏輯上講,這應該使您知道如何執行此操作,希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.