单个id在while循环中同时发出警报

时间:2014-06-12 07:04:30

标签: javascript php

我有一张表,我从哪里获取活动并在表格中显示......就像这样

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

我想提醒所选活动的名称,但是当我点击任何活动时,它会显示相同的内容。第一个活动。如果我点击任何其他活动......任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

你应该做的是改变这个:

onclick="hi()"

到此:

onclick="hi(this);

然后你的功能是:

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

答案 1 :(得分: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);
}

代码可能有一些转义错误,但逻辑上这应该会让你知道如何做到这一点,希望有所帮助。