可点击的div标签

时间:2012-01-08 12:18:54

标签: javascript jquery ajax

我试图让我的div标签可点击,但我无法找出问题是什么。 它是一个五星评级系统,星星给出了不同的价值。从1到5。

鼠标悬停在div标签上正在更改图像,但点击时不会给我任何结果。

我的div标签

  <div id="5"  OnClick="SendRating(value);" onmouseover=rateStar(id) value="5" ><img src="star.jpg"></div>


function rateStar(rating){
    var i = 1;
    var ratings = '';
    for (i==1; i<=5; i++){
        if (i<=rating){
            document.getElementById(i).innerHTML = '<img src=\"star1.gif\">';
        }
        else{
            document.getElementById(i).innerHTML = '<img src=\"star.jpg\">';
        }
    }
}

这是我的发送功能

function SendRating(RatingValue){
var paramas = "rating="+RatingValue;
$.ajax({
type: "POST",
  url: "rating.php",
  data: paramas,
    success: function(responseText)
    {
    document.getElementById("ContentHolder").innerHTML = responseText;
    }
  }
);
}

4 个答案:

答案 0 :(得分:3)

onclick您使用一个参数调用函数SendRating - value - 但您永远不会定义该变量。

HTML中也有一些错误,您应该validate it

答案 1 :(得分:0)

从ID获取星级评分值并像这样使用

<script type="text/javascript">
   function clicked(item) {
    alert($(item).attr("id"));
   }
  </script>


  <div onclick="sendRating(this);" id="5">test</div>

您也可以尝试使用以下

<div id="3" onClick="sendRating(this.id)">B3</div>

<script type="text/javascript">
function sendRating(id)
{
    alert(id);
}
</script>

答案 2 :(得分:0)

for (i==1; i<=5; i++){

应该是:

for (var i=1; i<=5; i++){

和,OnClick应全部小写,

答案 3 :(得分:-2)

如前所述,HTML无法找到您的JavaScript函数。但是请注意,你没有嵌套在JS函数里面&lt; script type =“text / javascript”&gt; ...&lt; / script&gt;标签。因此,函数声明被浏览器解释为文本,而不是JavaScript。

关于HTML的一些提示:所有属性都应该是小写的,它们的值应该在双引号内。