我试图获取用户选择使用onclick进行评级的图片的ID,但是它只会提醒“null”。当用户选择div标签时,它会提醒id。我想显示id。我可以建立这个,然后实现ajax来评估图片。但是,我需要帮助获取用户选择的图片的ID。
<?php
mysql_connect('localhost','root','');
mysql_select_db("ajax");
$query="SELECT * FROM xxxx";
$result= mysql_query($query);
while($row= mysql_fetch_array($result)){
$rating=$row['ID'];
echo "<img src='".$row['filepath']."'>";
echo "<br>";
echo "<div id='".$row['ID']."' value='".$row['ID']."' onclick='getrating();'>Likes: ".$row['Likes']."</div>";
echo "<br>";
}
im trying to get what picture the user selected to rate.
?>
<script type="text/javascript" >
function getrating(){
var x= document.getElementById("<?php echo $row['ID']; ?>");
alert(x)
}
</script>
答案 0 :(得分:3)
你应该做的一些事情:
尝试给出一个以字母开头的id,例如,在编写HTML代码时使用:
echo "<div id='img" . $row[ 'ID' ] . "'></div>"
请注意,我添加了一个前缀&#39; img&#39;到div的ID。
你必须将正确的索引传递给javascript函数,因为你是在列表中绘制div而不是javascript函数:
onclick='getrating( " . $row[ 'ID' ] . " );'
现在,当点击相应的DIV元素时,javascript函数将获得正确的图像ID。
将javascript函数更改为:
<script type="text/javascript" >
function getrating( id )
{
var x = document.getElementById( "img" + id );
alert( x );
}
</script>
答案 1 :(得分:0)
onclick="getrating(this.value);"
该代码会将div的当前值属性传递给您在JavaScript中创建的函数。请务必在函数中添加参数以接收数据。
答案 2 :(得分:0)
易。
改变这个:
echo "<div id='".$row['ID']."' value='".$row['ID']."' onclick='getrating();'>Likes: ".$row['Likes']."</div>";
到此:
echo "<div id='".$row['ID']."' value='".$row['ID']."' onclick='getrating(this.value);'>Likes: ".$row['Likes']."</div>";
而且:
function getrating(){
var x= document.getElementById("<?php echo $row['ID']; ?>");
到此:
function getrating(row_id){
var x= document.getElementById(row_id);
答案 3 :(得分:0)
您应该将事件处理程序放在图像中,如下所示:
<img src="" onclick="getrating(this.value)">
你的功能应该是这样的:
function getrating(row_id){
x = document.getElementById(row_id);
alert(x);
}