2014-06-12 26 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); 
} 

代码可能有一些逃生的错误,但从逻辑上讲,这应该让你知道如何去做,希望有所帮助。