2012-01-08 129 views
1

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

鼠标悬停在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\">'; 
     } 
    } 
} 

这是我sendrating功能

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

发送评级方法在哪里? – KMan 2012-01-08 12:22:01

+0

SendRating函数在哪里? – Gerep 2012-01-08 12:22:30

+0

尝试使用sendRating(this)而不是 – 2012-01-08 12:24:08

回答

3

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

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

-2

如前所述,HTML无法找到您的JavaScript函数。但也要注意,你还没有嵌套在JS功能里面< script type =“text/javascript”> ... </script > tags。所以函数声明被浏览器解释为文本,而不是JavaScript。

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

+0

HTML属性名称不区分大小写,它们的值可能使用''''或'''或(在某些情况下)引用是所有 – Quentin 2012-01-08 12:29:02

+0

浏览器了解他们,是的,但是如果你一致地做事情,它会更简洁的代码,他的一个属性是“OnClick”,另一个是“onmouseover” – 2012-01-08 12:33:46

+0

此外,我的答案更多地是关于JavaScript函数不是在一个JavaScript“区域”中,HTML仅仅是一个旁注。 – 2012-01-08 12:34:59

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> 
0
for (i==1; i<=5; i++){ 

应该是:

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

OnClick应全部小写,