2014-06-12 27 views
0

我有從我在哪裏獲取活動,並在表中顯示...這樣單ID警報同時在while循環

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

現在,我已經在一個點擊數事件應用於它的表對於功能的單選按鈕和腳本是:

<script type="text/javascript"> 
function hi() 
{ 
    a = document.getElementById("activities").value; 
    alert(a); 
} 

</script> 

我想提醒選擇的活動的名稱,但是當我在任何活動點擊,它顯示了相同的。第一activity.ven如果我點擊了任何其他活動......任何人都可以幫助我?

+2

你不能給同一個id多個元素。無論如何,你點擊的元素和你提醒的元素之間沒有任何關係。 –

+0

document.getElementById只返回1個元素,你不應該給所有的元素相同的ID ..你可以使用類,而不是遍歷它們 – webkit

+0

所以我怎麼能解決這個問題,我已經提到上面? – user3572583

回答

1

你應該做的是改變這一點:

onclick="hi()" 

這樣:

onclick="hi(this); 

那麼你的函數是:

function hi(who) { 
    var a = who.value; 
    alert(a); 
} 
+0

這是否解決了您的問題? – webkit

0

在事情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> 

爲:(你需要輸入/單選按鈕的唯一ID被動態&生成發送給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); 
} 

代碼可能有一些逃生的錯誤,但從邏輯上講,這應該讓你知道如何去做,希望有所幫助。