我试图让我的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;
}
}
);
}
答案 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的一些提示:所有属性都应该是小写的,它们的值应该在双引号内。